亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js、vue 樹狀圖 添加 索引值

js、vue 樹狀圖 添加 索引值

慕的地8271018 2018-08-10 19:45:25
\{        "name": "第一層",         index:1,        "children":[             {                "name":"第二層",                 index:2,             },{                "name":"第二層",                 index:2,                "children":[                     {                        "name":"第三層",                         index:3,                     },{                        "name":"第三層",                         index:3,                     },                 ]             }         ]     }想在這個樹狀圖中添加他們每一層的index,
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

最終寫法。

    function fun(arry){        for(let i in arry){
            let menu = arry[i];            if(!menu['num']){
                menu['num'] = 1;
            }            if(menu['children'].length && menu['children']){                for(let j in menu['children']){
                    menu['children'][j]['num'] = arry[i]['num'] + 1;                    fun(menu['children'])
                }
            }
        }
    }


查看完整回答
反對 回復 2018-08-12
?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

var ary = {    "name": "第一層",    index:1,    "children":[
        {            "name":"第二層",            index:2,
        },{            "name":"第二層",            index:2,            "children":[
                {                    "name":"第三層",                    index:3,
                },{                    "name":"第三層",                    index:3,
                },
            ]
        }
    ]
}function level(obj) {    if (!obj.level) {
        obj.level = 1
    }    if (!obj.children || !obj.children.length) {        return
    }

    obj.children.forEach(function(el) {
        el.level = obj.level + 1

        level(el)
    })
}

level(ary)console.log(ary)

var ary = [{    "name": "第一層",    index:1,    "children":[
        {            "name":"第二層",            index:2,
        },{            "name":"第二層",            index:2,            "children":[
                {                    "name":"第三層",                    index:3,
                },{                    "name":"第三層",                    index:3,
                },
            ]
        }
    ]
},
{    "name": "第一層",    index:1,    "children":[
        {            "name":"第二層",            index:2,
        },{            "name":"第二層",            index:2,            "children":[
                {                    "name":"第三層",                    index:3,
                },{                    "name":"第三層",                    index:3,
                },
            ]
        }
    ]
}
]function level(ary) {
    ary.forEach(function(el) {        if (!el.level) {
            el.level = 1
        }        if (!el.children || !el.children.length) {            return
        }
        
        el.children.forEach(function(item) {
            item.level = el.level + 1
        })
        
        level(el.children)
    })
}

level(ary)console.log(ary)

一個對象,一個數組


查看完整回答
反對 回復 2018-08-12
  • 2 回答
  • 0 關注
  • 1508 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號