foreach与for循环在js中的排坑

前言

最近使用foreach进行循环遍历经常遇到问题,记录下来,一起排坑。

for循环与foreach的区别

1.foreach与for循环 数组对象是可以修改值的。
列子1:

for循环的改动操作:

let arr=[{name:"李林",age:10},{name:"小林",age:20},{name:"恍然",age:30},{name:"林林",age:15}]
        for(let i=0;i<arr.length;i++){
          arr[i].name="丽丽"
        }
  console.log(arr)

for循环的结果在这里插入图片描述

列子2:

foreach的循环操作,循环数组对象的时候是可以修改值的

 let arr=[{name:"李林",age:10},{name:"小林",age:20},{name:"恍然",age:30},{name:"林林",age:15}]
        arr.forEach(e=>{
         e.name="小凯"
        })
        console.log(arr)

foreach循环的结果
在这里插入图片描述

2.for循环可以修改数组,foreach循环不能修改数组

for循环

 var array = ["a","b","c","d"];
        for (var i = 0; i < array.length; i ++) {
            array[i] = "A";
        };
        console.log(array);     // 结果:"A" "A" "A" "A"

foreach循环

 var array2 =  ["a","b","c","d"];
        array2.forEach(function(item) {
            item = "A";
        });
        console.log(array2);    // 结果:["a","b","c","d"]

3.for循环时可以使用break跳出循环,foreach不可以使用,只能用try…catch。
4.forEach中使用return不会报错,但rerutn并不会生效;如果我们真的要用return返回某个值,那就只能将return操作放在函数中,而不是forEach循环中

列子:

function find(array, num) {
    let a;
    array.forEach((self, index) => {
        if (self === num) {
            a = index;
        };
    });
    return a;
};
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值