首页 > 解决方案 > 使用数组和对象形成对象数组

问题描述

我有一个对象和以下类型的数组

var sourceObject = { "item1" : 15 , "item2" : 20 " }
var feature =  ["field1", "field2" ] 

我正在尝试将上述对象转换为对象数组。对象中的项目数以及数组将相同

结果对象数组应如下所示:


var result = [ { "name" : "field1" , "value" : 15 } , {  "name" : "field2" , "value": 20 }]

最终目标是从 sourceObject 读取它以获取每个值,然后从“特征”数组中选择每个值以形成一个对象

到目前为止我尝试过的方法:

 let result = [];
 for (let  value of Object.values(sourceObject)) {
    let row = { "field" : "XYZ" , "value": value };
    tableData.push(row);
 }

标签: javascriptarraysobjectecmascript-6

解决方案


循环遍历的键,sourceObject然后使用Array.map()

var sourceObject = {
  "item1": 15,
  "item2": 20
}
var feature = ["field1", "field2"]
var result = Object.keys(sourceObject).map((key, index) => {
  return {
    name: feature[index],
    value: sourceObject[key]
  }
});
console.log(result);


推荐阅读