Javascript 使用数组和对象形成对象数组
我有一个对象和以下类型的数组Javascript 使用数组和对象形成对象数组,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,我有一个对象和以下类型的数组 var sourceObject = { "item1" : 15 , "item2" : 20 " } var feature = ["field1", "field2" ] 我正在尝试将上面的对象转换为一个对象数组。 对象和数组中的项数将相同 对象的结果数组应如下所示: var result = [ { "name" : "field1" , "value" : 15 } , { "name" : "field2" , "value": 20 }]
var sourceObject = { "item1" : 15 , "item2" : 20 " }
var feature = ["field1", "field2" ]
我正在尝试将上面的对象转换为一个对象数组。
对象和数组中的项数将相同
对象的结果数组应如下所示:
var result = [ { "name" : "field1" , "value" : 15 } , { "name" : "field2" , "value": 20 }]
最终的目标是从sourceObject读取它以获得每个值,然后从“feature”数组中拾取每个值以形成一个对象
到目前为止,我尝试过的方法是:
let result = [];
for (let value of Object.values(sourceObject)) {
let row = { "field" : "XYZ" , "value": value };
tableData.push(row);
}
在
sourceObject
的键上循环,然后使用Array.map()
var sourceObject={
“项目1”:15,
“项目2”:20
}
变量特性=[“字段1”、“字段2”]
var result=Object.keys(sourceObject.map)(键,索引)=>{
返回{
名称:功能[索引],
值:sourceObject[键]
}
});
控制台日志(结果)代码>您的对象并不总是保证顺序,因此使用.values()
,.keys()
等。。。不一定总能保证你的结果。相反,您可以使用正则表达式从字段n
字符串中获取数字。此处N
表示要从对象检索的itemN
。使用此选项,您可以将.map()
每个字段n
从源对象映射到对象
见下例:
constsourceobject={“item1”:15,“item2”:20};
常量特征=[“字段1”、“字段2”];
const res=feature.map((名称,i)=>{
常量[n]=name.match(/\d+$/g);
const value=sourceObject[`item${n}`];
返回{name,value};
});
控制台日志(res)代码>