第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

重新排序?qū)ο?- 將對象復(fù)制(剪切)到另一個對象中

重新排序?qū)ο?- 將對象復(fù)制(剪切)到另一個對象中

慕森卡 2022-06-05 16:12:31
數(shù)據(jù)const data = [  {    "ID": 1,    "parent": "0",    "title": "Test-1"  },  {    "ID": 2,    "parent": "1",    "title": "Test-1-1"  },  {    "ID": 3,    "parent": "0",    "title": "Test-2"  },  {    "ID": 4,    "parent": "0",    "title": "Test-3"  },  {    "ID": 5,    "parent": "4",    "title": "Test-3-1"  },  {    "ID": 6,    "parent": "4",    "title": "Test-3-2"  },];操作:let parents = data.filter(item => item.parent == "0");let parents_children = parents.map(item => item.children = data.filter(stop => stop.parent == item.ID));console.log(parents_children);根本不工作。console.log(parents);工作正常。但我不明白為什么......let parents_children影響如何let parents?對于我要歸檔的內(nèi)容,是否有更好的解決方案?
查看完整描述

2 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊

分配和返回必須不同


let parents_children = parents.map(item => {

   item.children = data.

           filter(stop => stop.parent == item.ID);

   return item;

});

// 更好的性能


let result = data2.reduce((map, cur) => {

  if (cur.parent === "0") {

    // parent

    map[cur.ID] = map[cur.ID] || { children: [] };

    map[cur.ID] = { ...map[cur.ID], ...cur };

  } else {

    if (!map[cur.parent]) map[cur.parent] = { children: [] };

    map[cur.parent].children.push(cur);

  }

  return map;

}, {});

let finalResult = [];

for (const key in result) {

  finalResult.push(result[key]);

}

console.log(JSON.stringify(finalResult, null, 4));

工作樣本:


const data = [

  { ID: 1, parent: "0", title: "Test-1" },

  { ID: 2, parent: "1", title: "Test-1-1" },

  { ID: 3, parent: "0", title: "Test-2" },

  { ID: 4, parent: "0", title: "Test-3" },

  { ID: 5, parent: "4", title: "Test-3-1" },

  { ID: 6, parent: "4", title: "Test-3-2" }

];


let parents = data.filter(item => item.parent == "0");

let parents_children = parents.map(item => {

  // create new object

  return {

    ...item,

    children : data.filter(stop => stop.parent == item.ID)

  };

});

console.log(JSON.stringify(parents_children, null, 4));

console.log(data);



const data2 = [

  { ID: 1, parent: "0", title: "Test-1" },

  { ID: 2, parent: "1", title: "Test-1-1" },

  { ID: 3, parent: "0", title: "Test-2" },

  { ID: 4, parent: "0", title: "Test-3" },

  { ID: 5, parent: "4", title: "Test-3-1" },

  { ID: 6, parent: "4", title: "Test-3-2" }

];


// Better performance



let result = data2.reduce((map, cur) => {

  if (cur.parent === "0") {

    // parent

    map[cur.ID] = map[cur.ID] || { children: [] };

    map[cur.ID] = { ...map[cur.ID], ...cur };

  } else {

    if (!map[cur.parent]) map[cur.parent] = { children: [] };

    map[cur.parent].children.push(cur);

  }

  return map;

}, {});

let finalResult = [];

for (const key in result) {

  finalResult.push(result[key]);

}

console.log(JSON.stringify(finalResult, null, 4));

.as-console-row {color: blue!important}


查看完整回答
反對 回復(fù) 2022-06-05
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗 獲得超12個贊

.map()你忘了從我相信回來。


嘗試以下操作:


let parents_children = parents.map(item => {

   item.children = data.filter(stop => stop.parent == item.ID)

   return item;

});

我希望這有幫助!


查看完整回答
反對 回復(fù) 2022-06-05
  • 2 回答
  • 0 關(guān)注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號