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

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

請問一下嵌套數組里面的兩個children 合并為一個

請問一下嵌套數組里面的兩個children 合并為一個

翻閱古今 2019-03-01 18:15:01
原數組格式如下現在想將每一級的children2里面的對象合并到children1里面,如果沒有children1則新建children1。希望合并后的格式如下現在我通過這個方法可以返回正確的層次,但返回結果的格式是這樣的[Array(2), Array(1)],只有最里面的一級是對象,其他都是嵌套數組function transilate(data) {   return data.map((item) => {        if (item.children2) {            if(item.children2.length>0){                let concatR=item.children1?item.children1.concat(item.children2):item.children2                item.children1=concatR            }            return transilate(item.children1)        }        return item    });}transilate(data)JS Bin 代碼地址JS Bin 打開控制臺看輸出請問一下該如何修改代碼或有什么其他方法可以實現想要的效果?
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

return transilate(item.children1) -> transilate(item.children1)


查看完整回答
反對 回復 2019-03-12
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

function transilate(data) {

   return data.map((item) => {

        if (item.children2) {

            if(item.children2.length>0){

                let concatR=item.children1?item.children1.concat(item.children2):item.children2

                item.children1=concatR

            }

            delete item.children2

            item.children1 = transilate(item.children1)

        }

        return item

    });

}


查看完整回答
反對 回復 2019-03-12
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

題主的 result 給的有錯啊,,,


let test = JSON.parse(JSON.stringify(data));


function childrenIterator(arr) {

    arr.map(function(obj) {


        if (obj.children2 && obj.children2.length !== 0) {

            obj.children2.forEach(function(o) {

                obj.children1 ? obj.children1.push(o) : obj.children1 = [o];

            });

        }


        delete obj.children2;


        if (obj.children1) {

            childrenIterator(obj.children1);

        }


        return obj;

    });


    return arr;

}

console.log(JSON.stringify(childrenIterator(test)));


查看完整回答
反對 回復 2019-03-12
  • 3 回答
  • 0 關注
  • 1263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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