我无法从此数组中删除此特定项目

时间:2016-02-25 16:01:34

标签: javascript arrays items

我知道这很简单,但是尝试搜索并且找不到任何可以解决我问题的东西。

所以我想说我有这个数组:

 var chicken = [10, 45, 150, 5000, 25000, 100000, 150000];

我想删除除25000之外的所有内容。所以我尝试了一个简单的迭代:

 for (var w=0; w<chicken.length; w++){
     if (chicken[w]<25000 || chicken[w]>25000){
    chicken.splice(w,1);
     }
 }

它不起作用。输出是[45,5000,25000,150000],不知道为什么。

1 个答案:

答案 0 :(得分:8)

它不起作用的原因是因为你的数组长度随每个项目的splice而变化。如果要循环和删除,请使用反向循环:

for (var i = chicken.length - 1; i >= 0; i--) {
    if (chicken[i] !== 25000) chicken.splice(i, 1);
}