【发布时间】:2018-03-14 23:28:52
【问题描述】:
我正在寻找一种方法来根据 id 值组合数组中的对象。我可以使用filter method 作为顶层使其工作,但不确定如何确保所有子组等都正确合并。这是一个例子:
[
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
name: "DD"
}
]
},
{
id: 1,
name: "A"
subGroup: [
{
id: 2,
name: "BB"
}
]
},
{
id: 3,
name: "C"
subGroup: [
{
id: 5,
name: "EE"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
other: "Something else"
}
]
},
{
id: 1,
name: "A"
subGroup2: [
{
id: 7,
name: "GG"
}
]
},
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA",
subSubGroup: [
id: 10,
name: "II",
]
}
]
}
]
我正在寻找类似的东西并将其合并为:
[
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA",
subSubGroup: [
id: 10,
name: "II",
]
},
{
id: 2,
name: "BB"
}
],
subGroup2: [
{
id: 7,
name: "GG"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
name: "DD",
other: "Something else"
}
]
},
{
id: 3,
name: "C"
subGroup: [
{
id: 5,
name: "EE"
}
]
}
]
任何帮助将不胜感激。
【问题讨论】:
-
你的初始数据结构是什么?
-
第一个代码 sn-p 是初始数据,第二个是我希望如何设置它。
-
数据之间有什么关系?
-
我希望通过每个数组中的 id 属性进行组合。子组是组内的部分。
标签: javascript jquery arrays merge