从一种格式到另一种格式的Javascript对象数组

从一种格式到另一种格式的Javascript对象数组,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我有一个要转换的对象数组: let ordNumbers = [ {"seq":1,"ordNumber":"221"}, {"seq":1,"ordNumber":"224"}, {"seq":2,"ordNumber":"221"} ] 改为这种格式 let filteredOrders = [ {"seq":[1,2],"ordNumber":"221"}, {"seq":1,"ordNumber":"224"} ] 根据订单号,我想要上面的格式你是说这样的

我有一个要转换的对象数组:

let ordNumbers = [
   {"seq":1,"ordNumber":"221"},
   {"seq":1,"ordNumber":"224"},
   {"seq":2,"ordNumber":"221"}
]
改为这种格式

let filteredOrders = [
 {"seq":[1,2],"ordNumber":"221"},
 {"seq":1,"ordNumber":"224"}
 ]

根据订单号,我想要上面的格式

你是说这样的

var ordNumbers=[
{
“seq”:1,
“订单号”:“221”
},
{
“seq”:1,
“订单号”:“224”
},
{
“seq”:2,
“订单号”:“221”
}
]
//格式为{ordNumber:[seq]}
var pairs=OrdNumber.reduce((acc,v)=>{
acc[v.ORDNAME]=(acc[v.ORDNAME]| |[])concat(v.seq);
返回acc;
}, {});
//格式为[{“seq”:[seqs],“ordNumber”:ordNumber}]
var res=Object.keys(pairs.map)(v=>({
序号:成对[v],
订单号:v
}));

控制台日志(res)你的意思是这样的

var ordNumbers=[
{
“seq”:1,
“订单号”:“221”
},
{
“seq”:1,
“订单号”:“224”
},
{
“seq”:2,
“订单号”:“221”
}
]
//格式为{ordNumber:[seq]}
var pairs=OrdNumber.reduce((acc,v)=>{
acc[v.ORDNAME]=(acc[v.ORDNAME]| |[])concat(v.seq);
返回acc;
}, {});
//格式为[{“seq”:[seqs],“ordNumber”:ordNumber}]
var res=Object.keys(pairs.map)(v=>({
序号:成对[v],
订单号:v
}));
控制台日志(res)
let ordnumber=[
{“seq”:1,“ordNumber”:“221”},
{“seq”:1,“ordNumber”:“224”},
{“seq”:2,“ordNumber”:“221”}
]
设ordMap={}
对于(让el表示数字){
//如果地图中存在ordNumber,则将el.seq推至其值,否则将el.seq设置为
//价值
ordMap[el.ORDNAME]=ordMap[el.ORDNAME]?[…ordMap[el.ORDNAME],el.seq]:[el.seq]
}
const result=Object.keys(ordMap.map)(val=>({seq:ordMap[val],ordNumber:val}));
console.log(结果)
let ordnumber=[
{“seq”:1,“ordNumber”:“221”},
{“seq”:1,“ordNumber”:“224”},
{“seq”:2,“ordNumber”:“221”}
]
设ordMap={}
对于(让el表示数字){
//如果地图中存在ordNumber,则将el.seq推至其值,否则将el.seq设置为
//价值
ordMap[el.ORDNAME]=ordMap[el.ORDNAME]?[…ordMap[el.ORDNAME],el.seq]:[el.seq]
}
const result=Object.keys(ordMap.map)(val=>({seq:ordMap[val],ordNumber:val}));
console.log(结果)