var newlist = list.slice( 0, pos ).concat( tasks ).concat( list.slice( pos ) );
これは私がそれを見ているだけで震えます。
var newlist = list.slice( 0, pos ).concat( tasks ).concat( list.slice( pos ) );
これは私がそれを見ているだけで震えます。
Arrayにはスプライスメソッドがあります。
元の配列を変更したくない場合は、次のように少し短くすることができます。
var newlist = list.slice(0,pos).concat(tasks,list.slice(pos));
あなたの方法は他の方法と同じくらい優れています.2番目の配列の各メンバーを個別にスプライスする必要があります.
var list=[1,2,3,4,5,6,7,8,9], tasks= ['a','b','c'], pos=3;
while(tasks.length ) list.splice(pos,0,tasks.pop());
alert(list.join('\n'))
/* returned value:
1
2
3
a
b
c
4
5
6
7
8
9
*/