首页 > 解决方案 > 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',
}];


标签: javascriptarraysjsonobjectkey-value

解决方案


您可以通过使用运算符来转换对象数组并从对象中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)


推荐阅读