Domanda Come faccio a comprimere due array in JavaScript? [duplicare]


Questa domanda ha già una risposta qui:

Ho 2 matrici:

var a = [1, 2, 3]
var b = [a, b, c]

Quello che voglio ottenere di conseguenza è:

[[1, a], [2, b], [3, c]]

Sembra semplice ma non riesco a capirlo.

Voglio che il risultato sia un array con ciascuno degli elementi dei due array compressi insieme.


44
2018-02-25 13:30


origine


risposte:


Usa il map metodo:

var a = [1, 2, 3]
var b = ['a', 'b', 'c']

var c = a.map(function(e, i) {
  return [e, b[i]];
});

console.log(c)

DEMO


100
2018-02-25 13:34



Array.prototype.map()  non è supportato nei browser più vecchi

Feature       Chrome Firefox (Gecko) Internet Explorer  Opera Safari
Basic support (Yes) 1.5      (1.8)   9                  (Yes) (Yes)

Ecco un'alternativa che funziona ovunque.

var a = [1, 2, 3],
    b = ['a', 'b', 'c'];

var c = [];
for (var i = 0; i < a.length; i++){
   c.push([a[i], b[i]]);
}
console.log(c); // [[1, "a"], [2, "b"], [3, "c"]]


6
2018-02-25 13:41