javascript - 遍历出数组中所有对象为id的值
PHPz
PHPz 2017-04-11 11:02:35
[JavaScript讨论组]
const lists=[
    {
        _list_name:'订单中心',_list:[
            {name:'门店补货审核',
                _listThird:[
                    {name:'补货汇总审核',url:'add_goods_all_check.html',className:'allcheck'},
                    {name:'补货特殊审核',url:'add_goods_special_check.html',className:'specialcheck'},
                    {name:'已审核补货单查询',url:'add_goods_has_check.html',className:'hascheck'}
                ],id:'store_check'
            },
              {name:'加配作业',
                  _listThird:[
                      {name:'加配计划',url:'add_goods_plan.html',className:'plan'}
                ],id:'add_work'
              },
              {name:'物流仓库补货',
                  _listThird:[
                      {name:'DC补货',url:'add_goods_dc.html',className:'dc'}
                ],id:'store_add'
              }
        ],id:'order_center'
    },{
        _list_name:'补货中心',_list:[
            {name:'交易前',
                _listThird:[
                    {name:'智能补货',url:'add_goods_smart.html',className:''},
                    {name:'手工补货',url:'add_goods_hand.html',className:''},
                    {name:'特殊补货',url:'add_goods_special.html',className:''},
                    {name:'补货单查询',url:'add_goods_secrch.html',className:''}
                ],id:'order_before'
            },
              {name:'交易中',
                  _listThird:[
                      {name:'加配单查询',url:'add_goods_query.html',className:''}
                ],id:'order_ing'
              },
              {name:'交易后',
                  _listThird:[
                      {name:'补货单明细跟踪',url:'add_goods_detail_track.html',className:''}
                ],id:"order_after"
              }
        ],id:'add_goods_center'
    }]
便利出所有的id,将id对应的value值设为0;
结果这样
    var json={
        'order_center':0,
        'store_check':0,
        'add_work':0,
        'store_add':0,
        'order_before':0,
        'order_ing':0,
        'order_after':0,
        'add_goods_center':0
    }
PHPz
PHPz

学习是最好的投资!

全部回复(2)
PHP中文网
    var json = {};

    function fn(target){
        // 数组或者伪数组
        if( target.length ){
            // 遍历数组
            for( var i = 0 , l = target.length ; i < l ; i++ ){
                // 如果是数组或者对象,再次调用
                if(typeof target[i] === 'object'){
                    fn(target[i]);
                }
            }

        }else if(typeof target === 'object'){
            // 对象
            for( var key in target ){
                // 如果是数组或者对象,再次调用
                if( typeof target[key] === 'object' ){
                    fn(target[key])
                }

                if( key === 'id'){
                    json[target[key]] = 0
                }
            }
        }
        
    }
    fn(lists)
    console.log(json);
怪我咯

var json = {};
for (let i = 0; i < lists.length; i++) {

if (lists[i].hasOwnProperty('_list') && Array.isArray(lists[i]['_list'])) {
    for (let j = 0; j < lists[i]['_list'].length; j++) {
        lists[i]['_list'][j].hasOwnProperty('id') ?
            json[lists[i]['_list'][j]['id']] = 0 : null;
    }
}
lists[i].hasOwnProperty('id') ? json[lists[i]['id']] = 0 : null;

}

console.log(json);

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号