【发布时间】:2018-05-05 06:23:55
【问题描述】:
是否可以添加到数组的特定部分,然后删除数组的特定部分,在这种情况下,使用arr.splice() 的最终值?
我现在这样做:
var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(0,0,"test");
应该返回:
"test",1,2,3,4,5,6,7,8,9
然后我做:
arr.pop();
应该返回:
"test",1,2,3,4,5,6,7,8
我想知道是否可以通过 arr.splice() 方法来做到这一点,或者是否有任何更清洁的方法可以做到这一点,因为我可能会这样做几次,所以我最终会得到类似的东西:
arr.splice(0,0,"test");
arr.pop();
arr.splice(1,0,"test2");
arr.pop();
查看array.splice 文档,它表明我只能删除要放入新元素的位置的元素,而不是另一个元素。
【问题讨论】:
-
您为什么要使用
splice这样做?你想达到什么目的? -
简短的回答是否定的,但
.pop()是一个O(1)操作,所以我不确定是否有必要尝试将其浓缩为一个语句。 -
您可以在不添加带有拼接的项目的情况下获取项目(如果需要)。但是pop作为操作更容易。
-
@NinaScholz 我认为 OP 想要在 1 个命令中添加一个项目以及删除最后一个项目,据我所知这是不可能的
-
要在开始时添加值,您可以使用
unshift,而不是splice。
标签: javascript arrays