让我们看看为什么Javascript会这样表现。根据ECMAscript标准规范
Array.prototype.forEach,
当您删除索引1处的元素时,索引2处的元素将成为索引1处的元素,而该对象的索引2不存在。
现在,Javascript在对象中查找未找到的元素2,因此它跳过了函数调用。
这就是为什么您只看到
a和的原因
b。
实际的方法是使用
Array.prototype.filter
var array = ["a", "b", "c"];array = array.filter(function(currentChar) { console.log(currentChar); // a, b, c on separate lines return currentChar !== "b";});console.log(array); // [ 'a', 'c' ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)