Remplir un tableau 2D..

Fermé
Maz3310 Messages postés 2 Date d'inscription mercredi 24 août 2022 Statut Membre Dernière intervention 24 août 2022 - 24 août 2022 à 05:15
Maz3310 Messages postés 2 Date d'inscription mercredi 24 août 2022 Statut Membre Dernière intervention 24 août 2022 - 24 août 2022 à 07:41

Bonjour,


Je tente de developper un outil sur google script (langage proche du javascript, donc je pense que poser ma question ici est pertinent) mais je me retrouve bloque.


Je tente desesperement de remplir un tableau 2D. Aucun soucis pour la premiere ligne, mais la 2eme coince..


Voici mon code :


var hour = 6;

var baseArray = [[], []];

for (var i = 0; i <= 1; i++)
  {
    for (var j = 0; j <= 14; j++)
    {
      if (i == 0)
      {
        baseArray[[j][i]] = hour;
        hour+=1;
      }
      else
      {
        baseArray[[j],[i]] = 0 ;

        Logger.Log(baseArray[[j], [i]]);
      }
    }
  }


=========================================

Lorsque j'affiche le contenu de la ligne 2, il m'affiche "undifined"..

alors que je pense bien le remplir dans ma condition "else"..

Par contre la premiere ligne se remplie parfaitement.


Si quelqu'un a une idee je suis preneur ^^.

Merci d'avance!

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 24 août 2022 à 07:41
var baseArr = [];


  for (var i = 0; i < 2; i++){  

    var value = [];
    for (var j = 0; j < 15; j++) {           
      value.push(j);
    }
    baseArr.push(value);
   }
  Logger.log(baseArr[10][1])

Bonjour

Essaye d'utiliser la methode push 

Par exemple 


0
Maz3310 Messages postés 2 Date d'inscription mercredi 24 août 2022 Statut Membre Dernière intervention 24 août 2022
24 août 2022 à 07:41

J'ai finalement compris mon erreur.

Il est impossible de creer un tableau 2d directement. Du coup, pour chaque ligne (i) du tableau, il faut creer une colonne (une sorte de tableau dans un tableau).

Voila ce que j'en ai compris. Ca donne array[i] = [];

Voila a quoi ressemble le code :

var hour = 6;
  var baseArray = [];

  for (var i = 0; i <= 1; i++)
  {
    baseArray[i] = [];
    for (var j = 0; j <= 14; j++)
    {
      if (i == 0)
      {
        baseArray[i][j] = hour;
        hour+=1;
      }
      else
      {
        baseArray[1][j] = 0 ;
      }
    }
    Logger.log(baseArray);
  }

0