切片数组从N到最后一个元素

evf*_*qcg 38 javascript

如何进行这种转变?

["a","b","c","d","e"] // => ["c", "d", "e"]
Run Code Online (Sandbox Code Playgroud)

我以为slice可以做到这一点,但..

["a","b","c","d","e"].slice(2,-1) // [ 'c', 'd' ]
["a","b","c","d","e"].slice(2,0)  // []
Run Code Online (Sandbox Code Playgroud)

Tim*_* S. 81

不要使用第二个参数:

Array.slice(2);
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice

如果省略end,则将切片提取到序列的末尾.


ins*_*iac 5

只需给出起始索引,就像你想要数组中的其余数据一样.

["a","b","c","d","e"].splice(2) => ["c", "d", "e"]
Run Code Online (Sandbox Code Playgroud)

  • 问题与切片有关,而不是拼接 (2认同)

Con*_*ard 5

与由@insomniac回答一个重要的考虑是,spliceslice是两个完全不同的功能,主要区别在于:

  • splice 操纵原始数组.
  • slice 返回原始数组的子集,原始数组保持不变.

有关详细信息,请参阅:http://ariya.ofilabs.com/2014/02/javascript-array-slice-vs-splice.html.


小智 5

["a","b","c","d","e"].slice(-3) => ["c","d","e"]
Run Code Online (Sandbox Code Playgroud)