从MDN网站尝试以下代码
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
// removes 0 elements from index 2, and inserts 'drum'
var removed = myFish.splice(2, 0, 'drum');
不指定删除拼接['angel', 'clown', 'drum', 'mandarin', 'surgeon']
的预期输出,而是删除数组[]
。
答案 0 :(得分:2)
我认为您对splice
的返回值感到困惑。它不返回修改后的数组,但删除了元素。在这种情况下,您删除了所有内容,因此如果您记录removed
,则会显示空Array
。
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
var removed = myFish.splice(2, 0, 'drum');
console.log(myFish);
console.log(removed);
输出:
Array [ "angel", "clown", "drum", "mandarin", "surgeon" ]
Array [ ]
答案 1 :(得分:0)
Array.prototype.splice在原始数组上运行。