Entrée en double array dupliquée

Résolu
BlueGone Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
BlueGone Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'essaye de réaliser un tableau grille à double entrée de 320 par 320 qui ne contient que des 0.


var grille = [];
var X = [];
for(var j = 0; j < 320; j++)
{
X.push(0);
}
for(var i = 0; i < 320; i++)
{
grille.push(X);
}

grille[1][2] = 1;
console.log(grille);


Avec l'avant dernière instruction, je souhaite ajouter un 1 à la place d'une cellule, cependant, il n'y a pas que l'array 1 qui est modifié à la case 2, mais tous les arrays.

[[0, 0, 1, 317 more...], [0, 0, 1, 317 more...], [0, 0, 1, 317 more...], [0, 0, 1, 317 more...], [0, 0, 1, 317 more...], [0, 0, 1, 317 more...], 314 more...]


Est-ce que vous avez une idée du pourquoi du comment ?
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Essayes ceci :
var grille =new Array(320);
for(var i=0;i<320;i++){
   grille[i] = new Array(320);
}
for(var i=0;i<320;i++){
 for(var j=0;j<320;j++){
  grille[i][j]=0;
 }

}
grille[1][2]=1;
console.log(grille);

2
BlueGone Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci beaucoup, ça fonctionne. Par contre, est-ce que les tableaux auront une taille statique ? Et sais tu pourquoi avec le push() ça ne fonctionnait pas ? Dans la console, l'array grille à la même apparence.
0