javascript - 基于数组对象javascript中的属性添加键值
问题描述
我想知道如何根据javascript中的属性映射键值对。如果名称匹配,我需要将 title 属性添加到 obj1。
var obj1 = [
{"item": 1, code: "SG", name: "Engg", status: "A"},
{"item": 2, code: "TH", name: "Civil", status: "C"},
{"item": 1, code: "ML", name: "IT", status: "I"}
]
var obj2 = [
{"name": "Engg", "title": "Service"},
{"name": "Civil", "title": "MRT"}
]
预期产出
var newobj= [
{"item": 1, code: "SG", name: "Engg", status: "A", title: "Service"},
{"item": 2, code: "TH", name: "Civil", status: "C",title:"MRT"},
{"item": 1, code: "ML", name: "IT", status: "I"}
]
解决方案
var obj1 = [{
"item": 1,
code: "SG",
name: "Engg",
status: "A"
},
{
"item": 2,
code: "TH",
name: "Civil",
status: "C"
},
{
"item": 1,
code: "ML",
name: "IT",
status: "I"
}
]
var obj2 = [{
"name": "Engg",
"title": "Service"
},
{
"name": "Civil",
"title": "MRT"
}
]
const a = obj1.map(el => ({
...el,
...obj2.find(item => item.name === el.name)
}))
console.log(a)
推荐阅读
- html - 无法使正则表达式对 HTML 模式属性起作用
- ios - 如何从 Mac 控制台上的 iOS App 获取 print() 函数的日志?
- angular - 将数据绑定到 Angular 中的非本地 html 属性
- javascript - 将 {} 中的新对象添加到数组
- r - 使用 ggplot2 + gridExtra 进行无边界合并和调整绘图大小
- java - 将 SSL 证书安装到 Java 密钥库时出现问题
- python - 如何使用机器人框架在终端中执行命令?
- windows - 如何获取在 windows .bat 文件中捕获的命令中的所有参数
- angular - 如何增加 ag-grid 中自定义过滤器列表的宽度?
- php - 当我使用输入标签作为提交按钮时如何更改占位符