从一种格式到另一种格式的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(结果)