如何解决使用嵌套的对象数组将记录集减少为相同键的数组
[{
item_id: 'adsfsdf',order_no: '2499321',line_no: 8,uom: 'EA',qty: 0,req_date: 2021-06-07T00:00:00.000Z,tracking: 'asdfsad',carrier_name: 'UPS Ground',carrier_address: 'asdf'
},{
item_id: 'asdfasdf',line_no: 9,qty: 2,tracking: 'asdf',carrier_address: 'asdfasdf'
},{
item_id: 'asdfsdf',order_no: '2499903',line_no: 1,qty: 4,req_date: 2021-06-04T00:00:00.000Z,tracking: null,carrier_address: 'asdfasdfa'
}]
我想将数组缩减为按 order_no 值分组的较小数组。
到目前为止,我有这样的事情:
request.query(q).then(function (res) {
let newObj = []
res.recordset.forEach((e) => {
newObj.push({[e.order_no] : [e]})
})
let finalObj = newObj.reduce((a,obj) => {
let [k,v] = Object.entries(obj)[0]
a[k] = a[k] + v
return a
},{})
let final = Object.entries(finalObj).map(([k,v]) => {
return {[k]:v}
})
dbConn.close();
}).catch(function (err) {
console.log(err);
dbConn.close();
});
当我 console.log “final”变量时,它是这样的:
{
'2499321': 'undefined[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object]'
},{ '2499903': 'undefined[object Object]' },{ '2501438': 'undefined[object Object][object Object]' },{ '2501803': 'undefined[object Object][object Object]' },{ '2502223': 'undefined[object Object]' },{ '2502627': 'undefined[object Object]' },{ '2503022': 'undefined[object Object][object Object]' },{ '2503169': 'undefined[object Object]' }
]
预期结果类似于:
['2499321': [{
item_id: 'adsfsdf',carrier_address: 'asdfasdf'
}]
//Then next order_no with objects as nested array
我不确定为什么它显示“未定义”以及如何展开对象?这是达到这个结果的正确方法吗?
感谢所有帮助。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。