我正在嘗試使用相同的鍵將項目內的嵌套對象組合在一起。組合匹配的對象數組
- 查找「頂層」是重複的值,
- 合併重複的「頂級」項目到一個對象(包括他們的孩子。
- 應該有「類型」列中沒有重複的值
我想在這裏https://jsfiddle.net/Lpq6huvw/410/
輸入數據:
[{
"a": "Mon",
"type": [{
"b": 1
}, {
"b": 3
}]
}, {
"a": "Mon",
"type": [{
"b": 2
}]
}, {
"a": "Tue",
"type": [{
"b": 40
}]
}, {
"a": "Tue",
"type": [{
"b": 50
}]
}, {
"a": "Wed",
"type": [{
"b": 30
}]
}]
這個數組:
[{
"a": "Mon",
"type": [{
"b": 1
}, {
"b": 3
},
{
"b": 2
}]
},
{
"a": "Tue",
"type": [{
"b": 40
},
{
"b": 50
}]
}, {
"a": "Wed",
"type": [{
"b": 30
}]
}]
我嘗試這下面,所有的重複項目的映射爲一個對象。但是,我希望它將每個映射到它的「頂級」前任。
const z = _.uniqBy(_.filter(data.map(e=>e.a), v => _.filter(data.map(e=>e.a), v1 => v1 === v).length > 1))
const dupes = data.filter(itm => z.includes(itm.a))
const flat = _.flatMap(dupes, item =>
_(item.type)
.map(v => ({b: v.b}))
.value()
)
將屬性名稱始終是相同的,只值變化? – nnnnnn
是的,他們將保持不變 – Ycon
*「在'類型'數組內不應該有重複的值」* - 你的意思是說,輸入將永遠不會有'類型'值的重複,或者輸入可能有重複,但輸出不應該? – nnnnnn