遍历的4种写法, for/map/forEach/find

本文深入探讨了Vue项目中使用localStorage进行数据存储的方法,并对比了forEach、for循环、map及find四种遍历方式的优劣,旨在提高前端应用的性能与代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

getCrumbs(){
    let crumbs = JSON.parse(localStorage.getItem( "crumbs" )); 
    //[Vue warn]: Error in created hook: "TypeError: Cannot set property 'manageClass' of undefined" 报错
  
    // forEach写法
    crumbs.forEach(item => {
        console.log(item);                    
        if (item.name === "staffInfo") {
            this.manageClass = item.manageClass
            this.infoClass = item.infoClass; 
        }
    })

    //  或者使用for循环
    for (let i = 0; i < crumbs.length; i++) {
        if (crumbs[i].name === "staffInfo") {
            this.manageClass = crumbs[i].manageClass
            this.infoClass = crumbs[i].infoClass; 
        }                  
    }

     //map写法
    crumbs.map( (item) => {
        if (item.name == "staffInfo") {
            // return item.manageClass 
            this.manageClass = item.manageClass
            this.infoClass = item.infoClass;                        
        }
    } )

    // find写法                
    if (crumbs) {                                  
        var arr = crumbs.find((item) => (item.name === "staffInfo"));    
        this.manageClass = arr.manageClass
        this.infoClass = arr.infoClass; 
    }
   
},  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值