È possibile utilizzare il metodo splice
per sostituire parte di un array con elementi di un altro array, ma è necessario chiamarlo in un modo speciale in quanto prevede che gli elementi siano parametri, non l'array.
Il metodo splice
prevede parametri come (0, anotherArr.Length, 1, 2, 3)
, quindi è necessario creare un array con i parametri e utilizzare il metodo apply
per chiamare il metodo splice
con i parametri:
Array.prototype.splice.apply(arr, [0, anotherArr.length].concat(anotherArr));
Esempio:
var arr = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
var anotherArr = [ 1, 2, 3 ];
Array.prototype.splice.apply(arr, [0, anotherArr.length].concat(anotherArr));
console.log(arr);
uscita:
[ 1, 2, 3, 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Demo: http://jsfiddle.net/Guffa/bB7Ey/
risultati attesi? – 1983
@NagaJolokia, [1, 2, 3, indefinito, indefinito ...] –
Con lunghezza === 10, giusto? – 1983