forEach bucla prin două array-uri în același timp în javascript [duplicat] (Programare, Javascript, Pentru Buclă, Vue.Js, Foreach)

FilipeTeixeira a intrebat.
a intrebat.

Vreau să construiesc un for buclă care itera prin două variabile în același timp. n este o matrice și j merge de la 0 la 16.

var n = [1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22];
var m = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];

m.forEach(k => {
    n.forEach(i => {
        console.log(i, k)
    });
};

Rezultatul final ar trebui să iasă:

1,0
2,1
3,2
5,3
(...)

Din păcate, această buclă nu face acest lucru dintr-un motiv oarecare, deoarece repetă fiecare număr de 17 ori.

Ce îmi scapă aici?

Comentarii

  • Unde se află a doua matrice? În prezent aveți unul for și o buclă forEach peste o matrice. Nu sunt sigur care este rezultatul așteptat – doriți doar să imprimați 0, 1 -> 1, 2, , etc.? –  > Por VLAZ.
  • Presupunând că acesta este tiparul, probabil că ai nevoie doar de o singură buclă. –  > Por Andy.
  • @VLAZ A fost editată postarea. –  > Por FilipeTeixeira.
1 răspunsuri
CertainPerformance

Folosiți al doilea parametru forEach acceptă în schimb, care va fi indicele curent pe care iterați:

Dacă aveți două array-uri separate pentru început, în fiecare iterație, accesați la [index] proprietatea celuilalt array:

Comentarii

  • Acest lucru funcționează într-adevăr. Imaginați-vă acum că în loc de index aș vrea un anumit array. Am editat postul pentru a reflecta acest lucru. –  > Por FilipeTeixeira.