繁体   English   中英

javascript拼接方法从末尾删除元素

[英]javascript splice method removing elements from end

我正在尝试使用拼接方法从末尾删除 2 个元素这就是我尝试的

const arr = [3,4,5,6,7];
arr.splice(-1, 2)

我期望 arr 为 [3,4,5] 但 arr 值为 [3,4,5,6]

想了解为什么它会这样

来自MDN

开始

开始更改数组的索引。 如果大于数组的长度,start 将被设置为数组的长度。 如果为负,它将从数组末尾开始那么多元素。 (在这种情况下,原点-1,意思是-n是倒数第n个元素的索引,因此相当于array.length-n的索引。)如果array.length + start小于0,它将从索引 0 开始。

index -1表示从最后一个元素开始,所以在我们的例子中,只会删除最后一个元素。

您只需从数组的最后一个索引开始并删除两个项目。

结果是一个没有7的数组。

 // -1 index const arr = [3, 4, 5, 6, 7]; arr.splice(-1, 2); console.log(arr);

最简单的方法是使用 arr.length

 const arr = [3,4,5,6,7]; arr.splice(arr.length - 2) console.log(arr)

第一个参数告诉拼接它应该从哪个索引删除所有元素

 const arr = [3,4,5,6,7]; const itemsToDelete = 2; arr.splice(arr.length - itemsToDelete, itemsToDelete) console.log('arr', arr);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM