Je commence donc à peine à coder et n'ai appris que les codes de base et j'ai créé des tableaux dynamiquement avec :

 for (var j=0; j<20; j++) {
     this["row"+j] = [];
     for (var i=0; i<10; i++) {
         ["row"+j].push("false");
     }
 }

Mais maintenant je veux faire en sorte que je puisse pousser des éléments dans le row1[], row2[], etc... ...] Y-a-t-il un moyen de faire ça?

-1
Ethan Qi 14 mars 2019 à 09:00

2 réponses

Meilleure réponse

Si vous souhaitez créer des tableaux non à l'intérieur d'un objet mais comme des tableaux normaux, vous pouvez utiliser window puis le nom de la variable pour créer la variable.

Normalement, lorsque vous avez déclaré varibale dans l'objet fenêtre (vous pouvez y accéder sans écrire window.{variable name}). Vous pouvez donc profiter de window pour créer une variable dynamique.

for (var j = 0; j < 20; j++) {
  window["row" + j] = []; //<-----use window to create dynamic array
  for (var i = 0; i < 10; i++) {
    window["row" + j].push("false");
  }
}


row1[0] = "true"; // editing content of array
console.log(row1,row2);

Dans ce qui précède, nous avons créé 20 noms de variables row0,row1,.... et vous pouvez y accéder directement comme des tableaux normaux.

0
yajiv 14 mars 2019 à 06:16

Il n'est pas clair à quoi this fait référence ici. Je suggérerai plutôt de créer un objet et dans cet objet, les clés seront ["row" + j], dont la valeur sera un [], puis à l'intérieur de la boucle imbriquée, la valeur push vers ce tableau

let obj = {};


for (var j = 0; j < 20; j++) {
  obj["row" + j] = [];
  for (var i = 0; i < 10; i++) {
    obj["row" + j].push("false");
  }
}

console.log(obj)
1
brk 14 mars 2019 à 06:03