【发布时间】:2023-02-23 09:43:20
【问题描述】:
希望你过得好。我有一个关于如何清理数组并使其成为新数组的问题。我给你上下文,我有以下数组:
const array = [
{ id: 1, parentId: null, name: Example },
{ id: 2, parentId: 1, name: Example },
{ id: 3, parentId: 1, name: Example },
{ id: 4, parentId: 1, name: Example },
{ id: 5, parentId: 2, name: Example },
{ id: 6, parentId: 2, name: Example },
{ id: 7, parentId: 6, name: Example },
{ id: 8, parentId: 7, name: Example },
{ id: 9, parentId: 7, name: Example },
];
我想知道如何将它转换成一个数组,其结构是第一个元素是连接到最小 parentId 的元素,在本例中为 1。后来,根据这个值,形成了新数组在其对象内。例如:
const array = [
{ id: 1, parentId: null, name: Example },
{ id: 2, parentId: 1, name: Example },
{ id: 3, parentId: 1, name: Example },
{ id: 4, parentId: 1, name: Example },
{ id: 5, parentId: 2, name: Example },
{ id: 6, parentId: 2, name: Example },
{ id: 7, parentId: 6, name: Example },
{ id: 8, parentId: 7, name: Example },
{ id: 9, parentId: 7, name: Example },
];
进入这个:
const array = [
{
id: 1,
parentId: null,
name: Example,
options: [
{
id: 2,
parentId: 1,
name: Example,
options: [
{ id: 5, parentId: 2, name: Example },
{ id: 6, parentId: 2, name: Example },
]
},
{ id: 3, parentId: 1, name: Example },
{ id: 4, parentId: 1, name: Example },
{
id: 7,
parentId: 1,
name: Example,
options: [
{ id: 8, parentId: 7, name: Example },
{ id: 9, parentId: 7, name: Example },
]
},
]
},
];
该数组现在根据父 ID 对其选项进行排序。谁能帮帮我?我真的觉得自己很困惑。
我尝试使用 map 方法,但在一些元素之后变得困难。
【问题讨论】:
标签: javascript reactjs arrays object array-map