如何在 Javascript 中链接两个拼接方法?

How to chain two splice methods in Javascript?

在以下示例中,splice().splice() 不起作用。我错过了什么?如何在一行中链接两个拼接方法?感谢您的任何建议!

function test() {

  var data = [0,1,2,3,4,5];
  data.splice(0,2).splice(-1);  // Removed only the first two elements, but not the last element.
  console.log(data) // Returned [ 2, 3, 4, 5 ]

  var data = [0,1,2,3,4,5];
  data.splice(0,2); // Removed the first two elements.
  data.splice(-1);  // Removed the last element.
  console.log(data) // Returned [ 2, 3, 4 ]

}

splice returns 删除的元素,所以将它们链接在一个语句中不会真正起作用 - 你不想对删除的元素进行操作,你想对两次都是原始数组。

通常,在这种情况下,正确的方法是使用 slice 代替,这样更容易使用(只需指定开始(包括)和结束(不包括)索引)and 更实用(你得到一个新数组而不是改变现有数组 - 尽可能避免改变是很好的,使代码更容易理解)。

const data = [0,1,2,3,4,5];
console.log(data.slice(2,5));