【发布时间】:2011-09-22 16:06:08
【问题描述】:
我真的很困惑。
我的理解是array.splice(startIndex, deleteLength, insertThing) 会将insertThing 插入splice() 的结果startIndex 并删除deleteLength 的条目价值? ...所以:
var a = [1,2,3,4,5];
var b = a.splice(1, 0, 'foo');
console.log(b);
应该给我:
[1,'foo',2,3,4,5]
和
console.log([1,2,3,4,5].splice(2, 0, 'foo'));
应该给我
[1,2,'foo',3,4,5]
等等
但由于某种原因,它只给了我一个空数组?看一看:http://jsfiddle.net/trolleymusic/STmbp/3/
谢谢:)
【问题讨论】:
-
正如一些人现在指出的那样 - 该函数返回删除的元素,但修改了数组。谢谢:)!
-
还有三个出色的答案 - 抱歉,我刚刚将第一个输入的答案标记为正确答案。感谢大家的帮助!