Javascript Boucle dans Boucle (Array)
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Javascript Boucle dans Boucle (Array)



  1. #1
    Great.J

    Javascript Boucle dans Boucle (Array)


    ------

    Bonjour,

    Je suis bloqué avec ce script :
    Code:
    var input = [["1a","2a","3a"],["1b","2b","3b","4b"],["1c","2c","3c"]];
    var output = [];
    var i;
    var j;
    for (i = 0; i < input.length; i++) {
      output[i] = input[i];
      for (j = 0; j < input[i].length; j++) {
        output[i][j] = input[i][j].indexOf("b");
      }
    }
    
    console.log(input);
    console.log(output);
    L'idée est que cela me sorte :
    Code:
    output = [[-1, -1, -1], [1, 1, 1, 1], [-1, -1, -1]]

    - Je ne comprends pas pourquoi la variable input prends comme valeur l'opération codée dans la 2ème boucle.
    - De plus, je ne comprends pas pourquoi on est obligé d'indiquer
    Code:
    output[i] = input[i];
    dans la 1ère boucle (sinon çà me sort une erreur).

    Pouvez-vous m'aiguiller svp ??

    -----
    "ici se trouve le chemin, c’est ici que commence notre Grand Voyage."

  2. #2
    pm42

    Re : Javascript Boucle dans Boucle (Array)

    Citation Envoyé par Great.J Voir le message
    - Je ne comprends pas pourquoi la variable input prends comme valeur l'opération codée dans la 2ème boucle.
    A cause de
    Code:
    output[i] = input[i];
    output[i] pointe désormais sur le tableau contenu par input[i], pas sur une copie. Donc quand ensuite on modifie output[i][j], on modifie aussi input[i][j]

    Citation Envoyé par Great.J Voir le message
    - De plus, je ne comprends pas pourquoi on est obligé d'indiquer
    Code:
    output[i] = input[i];
    dans la 1ère boucle (sinon çà me sort une erreur).
    Parce que sinon quand ensuite on fait output[i][j], le [j] essaie de référencer un tableau qui n'existe pas.
    Mais cette ligne est aberrante. Il suffit de faire
    Code:
    output[i] = [];
    pour que ça marche.

  3. #3
    Great.J

    Re : Javascript Boucle dans Boucle (Array)

    En fait, c'était tout con ... bien évidemment !

    Merci infiniment !!!!
    "ici se trouve le chemin, c’est ici que commence notre Grand Voyage."

  4. #4
    Great.J

    Re : Javascript Boucle dans Boucle (Array)

    En revanche, je ne comprends pas ceci ...
    Code:
    output[i] pointe désormais sur le tableau contenu par input[i], pas sur une copie. Donc quand ensuite on modifie output[i][j], on modifie aussi input[i][j]
    Ce n'est pas censé signifier "la valeur de output à la position i prends pour valeur la valeur de input à la position i" ?
    "ici se trouve le chemin, c’est ici que commence notre Grand Voyage."

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Javascript Boucle dans Boucle (Array)

    Citation Envoyé par Great.J Voir le message
    En revanche, je ne comprends pas ceci ...
    Code:
    output[i] pointe désormais sur le tableau contenu par input[i], pas sur une copie. Donc quand ensuite on modifie output[i][j], on modifie aussi input[i][j]
    Ce n'est pas censé signifier "la valeur de output à la position i prends pour valeur la valeur de input à la position i" ?
    Au départ oui. Mais après tu modifies output et cela modifie input.

  7. #6
    Great.J

    Re : Javascript Boucle dans Boucle (Array)

    Merci bcp !!
    "ici se trouve le chemin, c’est ici que commence notre Grand Voyage."

Discussions similaires

  1. Algorithme Javascript Boucle
    Par xaxamumu40 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 29/10/2015, 06h26
  2. Réponses: 4
    Dernier message: 29/09/2014, 20h47
  3. problème boucle interruption avec boucle spi
    Par alice123 dans le forum Électronique
    Réponses: 8
    Dernier message: 16/03/2013, 02h26
  4. Diagramme de Bode boucle ouverte et boucle fermée
    Par toniocb dans le forum Physique
    Réponses: 4
    Dernier message: 21/06/2012, 13h24
  5. boucle dans une boucle
    Par invite320d6e59 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 15/04/2012, 09h51