anartiste
Messages postés14Date d'inscriptionjeudi 9 septembre 2004StatutMembreDernière intervention15 octobre 2007
-
11 mai 2005 à 09:31
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
11 mai 2005 à 18:11
anartiste
Bonjour à tous , voilà, je voudrais appliquer un splice sur des tableaux crées en série mais ça ne fonctionne pas, je vous montre le code et vous explique.
for(i=0;i<n;i++){
for(j=0;j<npuis;j++){
this["tab"+j].splite(0,1);
}
}
Le poblème maintenant c'set que si je trace this["tab"+i] ça me montre que tous les "tab"+i sont splités en même temps et après n incrémentatation de j il n'a plus rien.
voilà si quelqu'un peut m'expliquer c'est sympa sinon bonne journée
anartiste
Messages postés14Date d'inscriptionjeudi 9 septembre 2004StatutMembreDernière intervention15 octobre 2007 11 mai 2005 à 15:19
anartiste
re j'ai essayer an déclarant une variable mais ça ne marche toujours pas le fait est qu'il me splice tous mes tab en même temps au leiu de me splicer le tab0, puis le tab1, puis la tab2 ainsi de suite jusau'à la fin de la boucle et de reprendre ensuite à cause de la 1ere boucle
Vous n’avez pas trouvé la réponse que vous recherchez ?
anartiste
Messages postés14Date d'inscriptionjeudi 9 septembre 2004StatutMembreDernière intervention15 octobre 2007 11 mai 2005 à 17:48
anartiste
en fait je travail sur un moteur qui épuise toutes les possibilités de combiner les mots d'une phrase, j'explique j'ai un champ texte de saisie dans lequel on tape un texte, je récupère les mots et les place dans un tableau mon moteur doit se charger de recombiner les mots ensemble, j'ai déjà demandé de l'aidé, on m'a aidé mais j'ai un peu changé d'idée depuis. j'aimerais par exemple pour tableau=["a","b","c","d","e"], récupérer a,b,c,d,e; a,b,c,e,d; a,b,d,e,c; a,b,d,c,e etc il y a pour 5 mots ou letrres 1*2*3*4*5=120 possibilités, voilà j'essaie avec un splice mais il ne fonctionne pas comme il faut,
for(j=0;j<npuis;j++){
this["tab"+j]=["a","b","c","d","e"]
;
}
for(i=0;i<n;i++){
for(j=0;j<npuis;j++){
this["tab"+j].splite(0,1);
}
}
devrait me retirer une lettre à chaque this["tab"+j]pour chaque boucle i mais il me retire une lettre à tous les tab en même temps donc après j=5 tous mes tableaux sont vides, or ils devraient l'être après i=5
voilà, si tu as une solution complétement différente je suis preneur quand même, du genre une fonction de trie ou quoi merci d'avance
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 11 mai 2005 à 18:11
1° déjà, je vois que tu dois obtenir un nombre qui serait le factoriel du nombre de mots à mettre dans ta phrase. Or 5^5 (5 puissance 5) n'est pas un factoriel de 5 (1x2x3x4x5).
2° Ensuite, tu crées 5 tableaux contenant tous exactement la même chose : ["a","b","c","d","e"] .. quel interêt ?
3° Je ne vois pas en quoi un "splice" te permettrais de sortir une série mélangée des données contenues dans ton tableau .. es-tu certain de bien t'y prendre ?
4° Tu auras beau faire npuis fois le splice (que tu as, une fois de plus, mal écrit), si tu n'attribues pas à une variable ou à un tableau à ton opération, elle sera faite dans le vide .. et le résultat ne sera stocké nulle part !
Regarde bien dans le dico de Flash la fonction "Array.splice" et tu comprendras ce qu'elle fait ! (pour le dico : F1 sous Flash)