cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007
-
20 avril 2005 à 16:06
cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007
-
21 avril 2005 à 10:44
Bonjour,
Je souhaite créer un tableau à 2 dimensions de taille dynamique. Le code ci dessous ne marche pas:
durand2504
Messages postés163Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention21 février 2006 21 avril 2005 à 09:21
Salut,
en fait, flash ne connait pas les tableaux mais les listes, c'est
pourquoi l'utilisation d'un tableau 2D ou nD n'est pas évidente. Cela
me donne des idées de sources à créer, un objet tableau2D.
Avec splice, on donne 2 arguments, l'index du 1er élément à retirer et le nombre d'élément à retirer.
par ex, pour retirer le 3ème élément: splice(2,1) //index=2 car le premier élément à comme index 0, on retire un seul élément.
pour retire les 6, 7 et8èmes éléments, monTab.splice(5,3)
pour retirer le 5, 8 et 10ème élément,ça ce complique:
monTab.splice(9,1);
monTab.splice(7,1);
monTab.splice(4,1);
Attention, dans ce cas, commence à retirer le dernier élément puis par
index décroissant car si tu commences par l'index le plus bas, tous les
indexs suivant sont modifié, donc l'éléement n deviend n-1 et là tu
risques de te perdre dans les indexs des éléments à supprimer.
cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007 20 avril 2005 à 17:03
En faisant un push([truc, machin]) ca fige la taille à 2 éléments dans une des deux dimensions.
De plus je rempli le tableau à l'aide de 2 boucles, je veut donc donner
au tableau les éléments un par un. Avec une syntaxe de style tab[x][y]
= variable. C'est la déclaration qui me pose un problème en fait.
cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007 20 avril 2005 à 17:37
Ca fige pas ? Tu dit le contraire dans ta source en parlant de taille
"n,2" : 2 est bien une des deux dimensions qui est figé du coup.
Si je fait ca:
tab.push(["",""]);
avec la boucle associé, je ne pourrais pas utilise d'index supérieur à
1 pour la 2nde dimension cela fera bien un tableau de taille n, 2, moi
je veut un tableau n, k
Pour la seconde méthode j'ai pas bien compris la différence avec la première
cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007 20 avril 2005 à 18:06
Ok, c'est des fonctions du genre splice() que je cherchais alors.
J'avais déjà mis en pratique ton premier exemple mais le tableau varie
beaucoup en dimension, je devais donc créer de gros tableau gourmant en
mémoire.
Par contre on peut bien définir quel éléments on retire avec splice()
ou c'est uniquement le dernier ? Si c'est le cas ca me pose toujours un
problème.
C'est qd meme bizarre qu'on puisse pas créer un tableau à 2 dimensions
dynamiques de la meme manière qu'on le fait avec un tableau une
dimension ...
cs_sidhannowe
Messages postés75Date d'inscriptionlundi 27 octobre 2003StatutMembreDernière intervention11 décembre 2007 21 avril 2005 à 10:44
Ok c'est bon, mais finalement je l'utilise pas pour supprimer mais pour
ajouter,car l'index de mon tableau sont des coordonnées, donc pas le
droit de les supprimer (sinon décalage) je définirais juste la valeur à
null