在foreach中增加数组新元素
在foreach中增加数组元素,不会导致循环增加,循环次数还是原来数组的长度。
var arr=[1,2,3];
arr.forEach((item)=>{
if(item==2){
arr.push(7);
arr.push(8);
}
console.log(item);
});
console.log(arr.length);
结果是:1,2,3,5
,新增的7、8元素并没有被循环,但是数组的长度确实是增加了。
在foreach中删除属于元素
和增加不同的是,中数组中减少元素却会减少循环次数,并且删除的元素后面的元素会被“跳过”
var arr=[1,2,3];
arr.forEach((item)=>{
if(item==2){
arr.splice(1,1);
}
console.log(item);
});
console.log(arr.length);
输出的结果:1,2,2
第二个被删除了,长度已经变成了2,所以循环到第二次就停止了,导致第三个元素没被循环,发生“跳过”现象。但由于删除时,获取到的当前元素已经是第二个,所以输出的还是2.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。