我有一个元素数组,需要从中删除某些元素。问题是 JavaScript 似乎没有 for each 循环,如果我使用 for 循环,我会遇到问题,基本上是在尝试检查超出数组边界的元素,或者由于索引更改而丢失数组中的元素. 让我告诉你我的意思:
var elements = [1, 5, 5, 3, 5, 2, 4];
for(var i = 0; i < elements.length; i++){
if(elements[i] == 5){
elements.splice(i, 1);
}
}
问题是当元素[1] 被移除时,元素[2] 变成了元素[1]。所以第一个问题是某些元素从未被检查过。另一个问题是 .length 发生变化,如果我对边界进行硬编码,那么我可能会尝试检查超出数组边界的元素。那么做这件难以置信的简单事情的最好方法是什么?