4
var newlist = list.slice( 0, pos ).concat( tasks ).concat( list.slice( pos ) );

这让我只是看着它不寒而栗。

4

3 回答 3

2

Array有一个拼接方法。

于 2010-09-03T19:07:05.277 回答
1

如果您不想修改原始数组,可以像这样缩短您的数组:

var newlist = ​list.slice(0,pos).concat(tasks,list.slice(pos));

http://jsfiddle.net/RgYPw/

于 2010-09-03T19:18:48.303 回答
0

您的方法与任何方法一样好 - 您必须单独拼接第二个数组的每个成员。

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());

警报(list.join('\n'))

/*  returned value:
1
2
3
a
b
c
4
5
6
7
8
9
*/
于 2010-09-03T21:33:30.393 回答