javascript - javascript对象键和值如果值匹配则存储
问题描述
我有一个对象,另一个是从查询中获取的对象 list1,但我想将 Obj 键值存储到数组中。
var Obj = {
'1': 'Test 1',
'2': 'Test 2',
'3': 'Test 3',
'4': 'Test 4',
'5': 'Test 5'
}
我从查询中获取数据,该查询是对象查询中 data2 键 1,2,3,4 和 5 中的索引值 = 'select data1, data2, data3 from test';
list1 = [{
data1: 123,
data2: 4,
data3: 'value3',
}]
如果 data2 值,我想要一个对象输出。
list1 = [{
data1: 123,
data2: 'TEST 4',
data3: 'value3',
}];
解决方案
您可以通过使用运算符来转换对象数组并从对象中map
查找data2
属性来创建所需的结果Obj
var Obj = {
'1': 'Test 1',
'2': 'Test 2',
'3': 'Test 3',
'4': 'Test 4',
'5': 'Test 5'
}
list1 = [{
data1: 123,
data2: 4,
data3: 'value3',
}]
var finalList = list1.map(obj => ({
data1: obj.data1,
data2: Obj[obj.data2],
data3: obj.data3
}));
console.log(finalList)
推荐阅读
- javascript - 在循环内触发同步调用 等待两个 api 调用成功然后下一次迭代需要以角度 6 开始
- timezone - 为什么 SQL Server 2017 无法识别 AT 时区?
- javascript - 如何按 id 和 likes 对评论和子评论对象的数组进行排序?
- performance - 尽管迭代之间存在依赖关系,但循环花费不到 1 个周期
- java - 如何在 Spring reactive 的 ServerHttpResponse 中设置非标准的 HttpStatus?
- ios - SwiftUI - 导航链接。如何根据后端响应进行路由?
- java - 如何将数据库中的元素检索到 JDBC 程序中
- ios - 无效证书 (CSR)
- excel - 计数和过滤最大数量和对应字符串
- python - 从字符串列表中获取最长持续时间