Addition dans un array et suppression du contenu total d'un array

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 9 févr. 2010 à 22:02
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 11 févr. 2010 à 19:36
Bonsoir à toutes et à tous,

je commence à m'intéresser aux fonctions liées à un array en as2, et par conséquent 2 problèmes se posent à moi :
- comment faire pour additionner des valeurs contenues dans un array pour en afficher le total dans un texte dynamique :
du genre si
monTab:Array = new Array(10,20,30,40);

et bien quelle est la fonction (s'il en existe une...) pour permettre d'afficher dans un champ de texte dynamique "100" ?
- comment faire pour supprimer tout le contenu d'un array, dans la mesure où cet array est rempli dynamiquement ? En gros en cliquant sur des boutons cela ajoute ou supprime des valeurs dans mon array, mais il faudrait que je puisse supprimer tout le contenu de cet array (via un autre bouton), quel qu'en soit le contenu.

J'ai cherché sur le net s'il y avait des méthodes pour effectuer ce genre de choses mais je n'ai rien trouvé, donc si certains d'entre vous ont la solution ou les solutions, je veux bien avoir le tuyau.

Merci,

BBFUNK01

7 réponses

dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
10 févr. 2010 à 10:53
Salut

Il existe effectivement des fonctions pour ce que tu veux faire.

Pour additionner le contenu du tableau :
var resultat:uint;
for (var i:uint=0; i<monTab.length; i++)
{
     resultat += monTab.shift();   // ou pop(), ça revient au même
}

ps: là le tableau se vide au fur et à mesure de la boucle. Si tu ne veux pas qu'il se vide, il faut faire :
resultat += monTab[i];


Pour le vider par la suite :
monTab = [];
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
10 févr. 2010 à 10:55
Ah oui, pour afficher le résultat dans un champ de texte dynamique :

champ.text = resultat;   // fonctionne seulement sur les textfields dynamiques
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
10 févr. 2010 à 17:36
Salut dj_ouf,

et bien merci pour le tuyau, je teste ça de suite et te tiens au courant du résultat.

Merci,

BBFUNK01
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
10 févr. 2010 à 17:55
Re dj_ouf,

voici le résultat :
-pour vider le contenu du panier ça marche au poil (je t'avoue que je ne pensais pas qu'en fait il suffisait juste de réinitialiser le tableau pour le vider).
-par contre pour l'addition des valeurs dans un array, t bien je n'ai pas vraiment pu tester car en ajoutant ton code, j'ai 2 erreurs de compilation qui me disent :
Impossible de charger la classe ou l'interface 'uint'.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
10 févr. 2010 à 18:32
Re,

bon ben je crois avoir trouvé pourquoi ça ne marche :
visiblement d'après mes recherches "uint" serait un typage as3, ce qui expliquerait pourquoi ça ne fonctionne pas dans mon script vu que je code en as2.

En tout cas si tu connais la méthode pour le faire en as2 je suis preneur.

Merci,

BBFUNK01
0
dj_ouf Messages postés 221 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 6 septembre 2011
11 févr. 2010 à 15:49
Hello

Yep en effet uint est un type as3. En as2 il n'existe que Number pour typer tout nombre numérique.

Sinon le reste du code ne change pas pour passer en as2.
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
11 févr. 2010 à 19:36
Hello dj_ouf,

donc si je te suis, je peux tenter de faire l'addition des valeurs contenues dans mon array en utilisant le typage "Number". Et bien je vais essayer en cherchant dans cette voix.

En tout cas merci pour tes lumières :)

A plus,

BBFUNK01
0