是否可以添加到数组的特定部分,然后删除数组的特定部分,在这种情况下使用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文档我只能删除我将新元素放入的位置中的元素,而不是另一个元素。
答案 0 :(得分:0)
回答我在评论中确认的原始问题。使用splice方法或可能在javascript中的任何其他单个语句,不可能提供单独的索引来插入和另一个在数组中删除。如果我真的需要它,尝试在单个语句中实现这一目标的最佳方法是创建自己的函数,这在大多数情况下似乎都是适得其反的。
答案 1 :(得分:0)
您可以使用Array.from()
在一次调用中设置数组特定索引的.length
和值
var arr = [1,2,3,4,5,6,7,8,9];
arr = Array.from({length:arr.length - 1, ...arr, 0:"test"});
console.log(arr);
要实现问题中描述的模式,您可以选择使用循环和Object.assign()
var arr = [1,2,3,4,5,6,7,8,9];
var n = 0;
var prop = "test";
while (arr.length > 1) {
Object.assign(arr, {length:arr.length -1,...arr, [n]:!n ? prop : prop+n});
++n;
console.log(arr);
}