Unisci due array in modo che i valori si alternino

Sto cercando un metodo jQuery per unire due array in modo che i loro valori si alternino:

var array1 = [1,2,3,4,5]; var array2 = ['a', 'b', 'c', 'd', 'e']; 

Il risultato che voglio è:

 var arrayCombined = [1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 'e']; 

Tieni presente che so che è banale farlo in JS, tuttavia mi trovo dopo un metodo jQuery che lo farà.

Puoi utilizzare il metodo della map :

 var arrayCombined = $.map(array1, function(v, i) { return [v, array2[i]]; }); 

Demo: http://jsfiddle.net/Guffa/hmUy6/

Se devi usare jQuery, puoi approfittare della loro implementazione $.map rotta.

 var result = $.map(array1, function(v, i) { return [v, array2[i]]; }); 

$.map jQuery appiattisce l’array restituito, fornendo il risultato desiderato.

DEMO: http://jsfiddle.net/8rn2w/


Soluzione JS pura:

 var result = array1.reduce(function(arr, v, i) { return arr.concat(v, array2[i]); }, []); 

DEMO: http://jsfiddle.net/8rn2w/1/

Prova qualcosa del genere: –

  function merge(array1, array2) { if (array1.length == array2.length) { var c = []; for (var i = 0; i < array1.length; i++) { c.push([array1[i], array2[i]]); } return c; } return null; 

}