简单的JavaScript方法链接

时间:2016-05-16 12:22:53

标签: javascript arrays chaining

我正在尝试将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代码中看到过多次链接。

1 个答案:

答案 0 :(得分:2)

只是因为Array.prototype.splice会返回一个包含已删除元素的数组,您可以在documentation page找到它。

所以基本上一些方法允许链接,有些方法不允许。如果这是您第一次使用它们,可以参考文档。

更准确地说,Array的大多数方法都会创建一个新的Array(除了splice),因此从技术上讲它不是一个链接,因为你没有在同一个数组的同一个实例上应用不同的方法。典型的克隆链方法是filtermapfind