被splice
拖入删除数组值。删除并且拼接没有工作..
var arr = [];
arr[2] = 22;
arr[5] = 3;
arr[99] = 3343;
for(var i in arr){
if(i != 2){
arr.splice(i,1);
}
//delete arr[i];
}
console.log(arr);// [2: 22, 98: 3343]
//wanted [2:22]
我想删除除索引2
以外的所有内容,只删除一个。
答案 0 :(得分:1)
在拼接中不需要for循环,您可以使用:arr=[]
但是,如果您只想删除所有元素,请执行pop
。
替代方法是循环& while(arr.length > 0) {
arr.pop();
}
:
import Data.Map as M
答案 1 :(得分:0)
如果您可能需要从数组中间开始逐项删除项目,您应该反向迭代,以便不让变换索引到达您面前。
var arr = new Array(10).fill("").map((e,i) => e = "item:" +i),
i = 7;
console.log(JSON.stringify(arr));
while (i>2) console.log(JSON.stringify(arr.splice(i--,1))); // splice item at index i and decrease i by one
console.log(JSON.stringify(arr));