我有一个对象,另一个是从查询中获取的对象 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',}];
2 回答
![?](http://img1.sycdn.imooc.com/5458463b0001358f02200220-100-100.jpg)
ibeautiful
TA贡献1993条经验 获得超5个赞
您可以通过使用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)
![?](http://img1.sycdn.imooc.com/5458477300014deb02200220-100-100.jpg)
临摹微笑
TA贡献1982条经验 获得超2个赞
下面正在做的是:遍历list1数组。由于它是一个对象数组,我们遍历对象并更新item[iter]if the Obj[item[iter]]is not undefined。
list1.forEach( item => {
for (iter in item) {
item[iter] = Obj[item[iter]] !== undefined ? Obj[item[iter]] : item[iter]
}
})
结果是
[
{
"data1": 123,
"data2": "Test 4",
"data3": "value3"
}
]
希望这可以帮助。
添加回答
举报
0/150
提交
取消