我在多种上下文和语言中遇到了这个问题,我总是能够解决它,但我想最终找出一个合适的模式来处理这个问题。它来自连接 SQL 表。通常我会打两个电话,一个是项目,一个是评论,但我知道有一种方法可以在一个电话中获取所有内容,然后将结果展平。
我想做的是采用如下所示的数组:
[
{
itemId: 1,
comments: {
commentId: 1
}
},
{
itemId: 1,
comments: {
commentId: 2
}
},
{
itemId: 2,
comments: {
commentId: 3
}
}
]
并把它变成这样:
[
{
itemId: 1,
comments: [
{
commentId: 1
},
{
commentId: 2
}
]
},
{
itemId: 2,
comments: [
{
commentId: 3
}
]
}
]