我正在尝试将Array
对象的方法链接在一起,但它不会让我。
var arr = [1,2,3];
arr.splice(-3, 1, 'foot').splice(arr.length,0, 'hand');
console.log(arr) // ['foot', 2, 3]
//trying to get ['foot', 2, 3, 'hand']
这不起作用。我必须将第二个splice
拆分成一个新的声明。为什么这不起作用?我已经在JavaScript代码中看到过多次链接。
答案 0 :(得分:2)
只是因为Array.prototype.splice
会返回一个包含已删除元素的数组,您可以在documentation page找到它。
所以基本上一些方法允许链接,有些方法不允许。如果这是您第一次使用它们,可以参考文档。
更准确地说,Array的大多数方法都会创建一个新的Array(除了splice),因此从技术上讲它不是一个链接,因为你没有在同一个数组的同一个实例上应用不同的方法。典型的克隆链方法是filter
,map
,find
。