Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用数组和对象形成对象数组_Javascript_Arrays_Object_Ecmascript 6 - Fatal编程技术网

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)