【发布时间】:2021-04-09 23:43:29
【问题描述】:
我有一个对象数组
let array = [
{
"Reg_No": 201500445,
"Name": "ADITYA KUMAR ",
"ELECTIVE": "Advanced Web Technologies"
},
{
"Reg_No": 201700150,
"Name": "N. GAGAN SAI REDDY",
"ELECTIVE": "Advanced Java"
},
{
"Reg_No": 201700150,
"Name": "N. GAGAN SAI REDDY",
"ELECTIVE": "Digital Image Processing"
},
{
"Reg_No": 201700150,
"Name": "N. GAGAN SAI REDDY",
"ELECTIVE": "Enterprise Resource Planning"
},
{
"Reg_No": 201700181,
"Name": "RANJAN SENGUPTA",
"ELECTIVE": "Advanced Java"
},
{
"Reg_No": 201700181,
"Name": "RANJAN SENGUPTA",
"ELECTIVE": "Digital Image Processing"
},
{
"Reg_No": 201700181,
"Name": "RANJAN SENGUPTA",
"ELECTIVE": "Internet, Technology and Society"
},
{
"Reg_No": 201700432,
"Name": "SAMRAT HALDAR",
"ELECTIVE": "Advanced Java"
}
]
我希望将具有相同 Reg_No 的对象合并到一个对象中,同时创建一个属性来保存所有 ELECTIVE 的值 即我想要类似的东西
{
"Reg_No": 201700150,
"Name": "N. GAGAN SAI REDDY",
"ELECTIVE": [
"Advanced Java",
"Digital Image Processing",
"Enterprise Resource Planning"
]
}
对于数组中具有相同 Reg_No 的每个对象。 我尝试使用 lodash,但我不知道如何将 Elective 合并到一个数组中。 我试过了
var result = _(array)
.groupBy('id')
.map(_.spread(_.assign))
.value();
但它只会保留其中一个 ELECTIVE 科目。有没有办法将所有 ELECTIVE 存储在该对象的一个数组中。
【问题讨论】:
-
您搜索了什么,找到了什么?你尝试了什么,它是如何失败的?
-
请添加您尝试过的代码。
-
我搜索了如何在数组中合并具有相同值的对象,我得到了 const result = _6th_raw_final.filter(v => { return v.Reg_No ? !Object.assign(v.Reg_No) : v.Reg_No = v }, {});。但它返回一个空数组
标签: javascript node.js