【发布时间】:2021-01-25 10:03:20
【问题描述】:
基本上,我想使用 Javascript 或其任何 npm 模块 将我从数据库查询的结果格式化为一个新对象。
我有以下数据库中的对象数组:
[
{
"invoice_id": 1,
"item_id": 23,
"client_id": 2,
"price": 3000.00,
"qty": 4
},
{
"invoice_id": 1,
"item_id": 45,
"client_id": 2,
"price": 8000.00,
"qty": 1
},
{
"invoice_id": 1,
"item_id": 56,
"client_id": 2,
"price": 10000.00,
"qty": 1
},
],
我想将以上对象合并成以下格式:
[
{
"invoice": {
"invoice_id": 1,
"items": [
{
"item_id": 23,
"price": 3000.00,
"qty": 4
},
{
"item_id": 45,
"price": 8000.00,
"qty": 1
},
{
"item_id": 56,
"price": 10000.00,
"qty": 1
}
],
},
"client": {
"client_id": 2,
}
}
]
对我如何执行上述结果有什么建议吗?
【问题讨论】:
-
请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您的尝试minimal reproducible example,并使用
[<>]sn-p 编辑器记录输入和预期输出。 -
你能分享一下你期望的输出吗?
-
到目前为止你尝试过什么?您可以使用
Array.prototype.reduce(),也可以以任何其他方式循环遍历数组项。 -
顺便问一下,您能否确认您想要输出的是一组发票,而不是单个发票对象?
-
要知道是否有更好的方法,我们首先需要知道您的当前方法
标签: javascript arrays object ecmascript-6