首页 > 解决方案 > 重新排序对象 - 将对象复制(剪切)到另一个对象中

问题描述

数据

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?对于我要归档的内容,是否有更好的解决方案?

标签: javascript

解决方案


.map()你忘了从我相信回来。

尝试以下操作:

let parents_children = parents.map(item => {
   item.children = data.filter(stop => stop.parent == item.ID)
   return item;
});

我希望这有帮助!


推荐阅读