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

Signaler
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
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

Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011

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 = [];
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011

Ah oui, pour afficher le résultat dans un champ de texte dynamique :

champ.text = resultat;   // fonctionne seulement sur les textfields dynamiques
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Salut dj_ouf,

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

Merci,

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
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'.
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
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
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011

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.
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
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