Possiamo inserire un array in un altro array specificando l'offset numerico in cui il secondo array viene inserito nel primo. Per ottenere questo risultato dobbiamo combinare i metodi splice()
e concat()
degli array usandoli fuori dal contesto di un array specifico. Vediamo come.
Possiamo usare la seguente funzione:
function insertArrayIntoArray(a, b, index) {
a.splice.apply(a, Array.prototype.concat(index, 0, b));
return a;
}
Il metodo splice()
viene usato tramite apply()
. Questo ci permette di usarlo sullo stesso array di partenza. Anche il metodo concat()
viene usato fuori da un contesto specifico tramite l'oggetto nativo Array
. Esempio d'uso:
var arr1 = [1,2,3,7,8,9];
var arr2 = [4,5,6];
window.onload = function() {
alert(insertArrayIntoArray(arr1, arr2, 3)); // 1,2,3,4,5,6,7,8,9
};
Potete visionare l'esempio finale in questa pagina.