如何通过拼接删除数组值?

时间:2016-06-01 03:29:53

标签: javascript arrays

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以外的所有内容,只删除一个。

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));