Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 - Fatal编程技术网

javascript将索引对象转换为对象数组

javascript将索引对象转换为对象数组,javascript,arrays,Javascript,Arrays,我有一个像这样的对象: obj = { "price": {0: "10.00", 1: "15.00", 2: "6.00"}, "serialNumber": {0: 1000, 1: 2000, 2: 3000} } obj_array = [{"price":"10.00", "serialNumber": 1000}, {&q

我有一个像这样的对象:

obj = {
"price": {0: "10.00", 1: "15.00", 2: "6.00"},
"serialNumber": {0: 1000, 1: 2000, 2: 3000}
}
obj_array = [{"price":"10.00", "serialNumber": 1000}, {"price":"15.00", "serialNumber": 2000},{"price":"6.00", "serialNumber": 3000}]
我试图将其转换为一个对象数组,这样我就可以执行
obj.map((obj,idx)=>{//display obj.price和obj.serialNumber/})
,所以我想将
obj
转换为如下数组:

obj = {
"price": {0: "10.00", 1: "15.00", 2: "6.00"},
"serialNumber": {0: 1000, 1: 2000, 2: 3000}
}
obj_array = [{"price":"10.00", "serialNumber": 1000}, {"price":"15.00", "serialNumber": 2000},{"price":"6.00", "serialNumber": 3000}]
我最初使用
array=Object.values(obj['serialNumber'])
来获取serialNumber,但由于
Object.values
的工作方式,我不能只使用
array=Object.values(obj['serialNumber','price'])
来获取两者。values()函数将忽略serialNumber字段,只生成一个价格数组。任何帮助都将不胜感激

您可以使用
array#reduce
Object.entries()
将对象转换为数组

const obj={“price”:{0:10.00,1:15.00,2:6.00},“serialNumber”:{0:1000,1:2000,2:3000},
结果=Object.entries(obj).reduce((r[key,value])=>{
Object.values(value).forEach((val,i)=>{
r[i]={…(r[i]|{}),[key]:val};
});
返回r;
},[]);
控制台日志(结果)
您可以使用
array#reduce
Object.entries()
将对象转换为数组

const obj={“price”:{0:10.00,1:15.00,2:6.00},“serialNumber”:{0:1000,1:2000,2:3000},
结果=Object.entries(obj).reduce((r[key,value])=>{
Object.values(value).forEach((val,i)=>{
r[i]={…(r[i]|{}),[key]:val};
});
返回r;
},[]);

控制台日志(结果)谢谢!工作很有魅力,谢谢你!工作得很有魅力。