arrays - 合并节点中的对象
问题描述
我有一个这样的对象数组。你能告诉我如何将 id = 1 的 ojbect 合并到一个大对象,并将所有 id = 1 的类别合并到这个对象。所以,谁能帮助我,我真的需要你的帮助。非常感谢
[
{
"id": 1,
"title": "Hello",
"category": {
"id": 1,
"nameVI": "Music"
}
},
{
"id": 1,
"title": "Hello",
"category": {
"id": 2,
"nameVI": "Family"
}
},
{
"id": 1,
"title": "Hello",
"category": {
"id": 3,
"nameEN": "Sensory"
}
},
{
"id": 2,
"title": "good bye",
"category": {
"id": 1,
"nameEN": "Music"
}
},
{
"id": 2,
"title": "good bye",
"category": {
"id": 2,
"nameEN": "Family"
}
},
{
"id": 2,
"title": "good bye",
"category": {
"id": 3,
"nameEN": "Sensory"
}
}]
解决方案
我不确定你到底想要什么。这是选择默认值(id
和title
)和合并的简单方法categories
。
const mergeObj = (id, obj) => {
const newObj = {};
obj.forEach((el) => {
if (el.id === id) {
if (!newObj.id) {
newObj.id = el.id;
newObj.title = el.title;
newObj.categories = [];
}
newObj.categories.push(el.category);
}
});
return newObj;
};
推荐阅读
- javascript - IE下拉菜单在点击时消失,需要鼠标向下
- keyboard - 蓝牙版本的向后兼容性
- pandas - 熊猫如何将数据从 df 附加到 df2
- r - prop.table() 和 dnorm() 之间的区别
- android - 我应该遵循哪些步骤在 Mac for Android 中执行环境变量?
- mysql - MySQL 中的 JOIN ON 和 WHERE 有什么区别?
- android - 无法在 Azure Dv3 VM 上启动 Android 模拟器
- i2c - I2C 从机实现 - 时钟频率?
- javascript - 链接到多个网站的按钮
- c# - WPF 按钮作为带有文本和矢量图标的自定义控件