Możesz użyć metody splice
, aby zastąpić część tablicy elementami z innej tablicy, ale musisz wywołać ją w specjalny sposób, ponieważ oczekuje ona elementów jako parametrów, a nie tablicy.
Sposób splice
oczekuje parametry jak (0, anotherArr.Length, 1, 2, 3)
, więc należy utworzyć tablicę parametrów i wykorzystanie metody apply
wywołać metodę splice
z parametrami:
Array.prototype.splice.apply(arr, [0, anotherArr.length].concat(anotherArr));
przykład:
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);
Wyjście:
[ 1, 2, 3, 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Demo: http://jsfiddle.net/Guffa/bB7Ey/
oczekiwany wynik? – 1983
@NagaJolokia, [1, 2, 3, niezdefiniowane, niezdefiniowane ...] –
Długość === 10, prawda? – 1983