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;
},[]);
控制台日志(结果)代码>谢谢!工作很有魅力,谢谢你!工作得很有魅力。