资讯专栏INFORMATION COLUMN

数组的foreach中操作数组

Nekron / 874人阅读

摘要:在中增加数组新元素在中增加数组元素,不会导致循环增加,循环次数还是原来数组的长度。但由于删除时,获取到的当前元素已经是第二个,所以输出的还是感觉总结的有价值的同学请点个赞,给个鼓励,给点动力,谢谢支持

在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.
感觉总结的有价值的同学请点个赞,给个鼓励,给点动力,谢谢支持!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94436.html

相关文章

  • foreach遍历过程奇怪现象(PHP5)

    摘要:中基础中的三大坑,遍历,引用机制,数组。今天我们在讲讲中的一些奇怪现象。本文适合有一定基础的。运行流程共用一个结构体开始遍历数组,进行判断,拷贝数组是一个新的结构体,操作的是新的结构体。那么遍历数组时,全程与原数组无关。 PHP中基础中的三大坑,foreach遍历,引用机制&,数组。 今天我们在讲讲foreach中的一些奇怪现象。 在讲解之前,可以先看看我其他相关的文章,属于同一个大的...

    kgbook 评论0 收藏0
  • PHP_数组

    摘要:李寻欢索引数组索引数组,元素的值和下标不存在逻辑关系,而下标只表示值索引位置。键和值,同时向下移动指针获得元素信息,返回的是,关联和索引数组其中关联数组部分。 数组 数据由元素组成,元素由键和值组成 数组分类 关联数组关联数组,元素的下标与元素的值存在逻辑上的关系,称之为关联数组。指的是,键和值之间存在管理。 $a1 = array(name => 李寻欢, age => 34); ...

    zone 评论0 收藏0
  • 给初学者:JavaScript 数组操作注意点

    摘要:使用遍历数组有三点问题遍历顺序不固定引擎不保证对象的遍历顺序。作为原生函数,和自身操作字符串的速度是很快的。由于没有返回值返回,所以它的回调函数通常是包含副作用的,否则这个写了毫无意义。接受一个回调函数,你可以提前,相当于手写循环中的。 不要用 for_in 遍历数组 这是 JavaScript 初学者常见的误区。for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerab...

    tianyu 评论0 收藏0
  • Array和常用API

    摘要:返回值自写一下函数这就是一个简单的自写的一个函数,代表操作的数组,代表用来操作数组的函数,传入数组和函数。返回值返回排序后的数组。分隔符指定一个字符串来分隔数组的每个元素。生成新数组元素的函数,使用三个参数。 什么是数组 在阮一峰的《JavaScript 标准参考教程(alpha)》中的解释是:数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表...

    coordinate35 评论0 收藏0
  • 当我们使用foreach时,内部究竟发生了什么(PHP5)?

    摘要:如何证明我的说法呢可以用下面这段代码检验。那么在这里我们需要特别注意,为了保险起见我们在遍历数组后,最好手动一下数组,防止出错这样就正常了。还有一点手册也提醒我们了转成代码的意思就是遍历后和是真实存在的,最好使用后能手动掉。 以下所有结论均基于PHP5版本看下面一段最基础的foreach遍历数组代码。 输出为’0a1b2c’自然没有疑问,那么此过程中$arr,$key,$valu...

    paulli3 评论0 收藏0

发表评论

0条评论

Nekron

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<