Ich versuche, die Elemente eines Arrays (Array1) mit den Positionen des anderen Arrays (Array2) zu vergleichen und ein neues Array (Array3) zu generieren, das die Elemente von Array2 enthält, deren Positionen den Elementen von Array1 entsprechen.
var Array1 = [1, 2, 6] // Dynamic array, maxlength= 6
var Array2 = [6, 8, 9, 3, 5, 2] // dynamic array of length=6
var Array3 = [6, 8, 2] // note that positions are form 1-6 and not 0-5
Wie kann ich das erreichen?
Die Lösung für Ihr Problem ist
Array1.map(function(key) {return Array2[key - 1];});
Die Verwendung von key - 1
hat damit zu tun, dass Sie das erste Element von Array2 als Position "1" bezeichnen.
Wenn Sie stattdessen der populäreren Programmierkonvention folgen würden, dass das erste Element von Array2 die Position "0" (oder der Index 0) ist, wäre die Lösung
Array1.map(function(key) {return Array2[key];});
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen