Tro*_*sic 11 javascript array-splice
我真的很困惑.
我的理解是,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);
Run Code Online (Sandbox Code Playgroud)
应该给我:
[1,'foo',2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
和
console.log([1,2,3,4,5].splice(2, 0, 'foo'));
Run Code Online (Sandbox Code Playgroud)
应该给我
[1,2,'foo',3,4,5]
Run Code Online (Sandbox Code Playgroud)
等等
但由于某种原因,它给了我一个空阵列?看看:http://jsfiddle.net/trolleymusic/STmbp/3/
谢谢 :)
该array.splice函数拼接一个数组并返回被删除的元素。由于您没有删除任何内容而只是使用它来插入元素,因此它将返回空数组。
我想这就是你想要的。
var a = [1,2,3,4,5];
a.splice(1, 0, 'foo');
var b = a;
console.log(b);
Run Code Online (Sandbox Code Playgroud)
splice()修改源数组并返回已删除项的数组。由于您没有要求删除任何项目,因此您会返回一个空数组。它修改原始数组以插入您的新项目。你有没有看一看它是什么?在 中查找您的结果a。
var a = [1,2,3,4,5];
var b = a.splice(1, 0, 'foo');
console.log(a); // [1,'foo',2,3,4,5]
console.log(b); // []
Run Code Online (Sandbox Code Playgroud)
在您的 jsFiddle 的派生中,请在a此处查看结果:http : //jsfiddle.net/jfriend00/9cHre/。
| 归档时间: |
|
| 查看次数: |
8715 次 |
| 最近记录: |