我有一个元素数组,需要从中删除某些元素。问题是 JavaScript 似乎没有 foreach 循环,如果我使用 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);
}
}
问题是当 elements[1] 被移除时, elements[2] 就变成了 elements[1]。所以第一个问题是某些元素从未被检查过。另一个问题是 .length 发生变化,如果我对边界进行硬编码,那么我可能会尝试检查超出数组边界的元素。那么完成这个极其简单的事情的最佳方法是什么?
从顶部开始!
var elements = [1, 5, 5, 3, 5, 2, 4];
for(var i = elements.length - 1; i >= 0; i--){
if(elements[i] == 5){
elements.splice(i, 1);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)