数组的foreach中操做数组

在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,新增的七、8元素并无被循环,可是数组的长度确实是增长了。code

在foreach中删除属于元素

和增长不一样的是,中数组中减小元素却会减小循环次数,而且删除的元素后面的元素会被“跳过”it

var arr=[1,2,3];
arr.forEach((item)=>{
    if(item==2){
        arr.splice(1,1);
        
    }
    console.log(item);
});
console.log(arr.length);

输出的结果:1,2,2console

第二个被删除了,长度已经变成了2,因此循环到第二次就中止了,致使第三个元素没被循环,发生“跳过”现象。但因为删除时,获取到的当前元素已是第二个,因此输出的仍是2.

感受总结的有价值的同窗请点个赞,给个鼓励,给点动力,谢谢支持!!!

相关文章
相关标签/搜索