Tom*_*Tom -5 javascript jquery json
在值上组合javascript数组项
假设你有一个json对象,如:
[
{
prNumber: 20000401,
text: 'foo'
},
{
prNumber: 20000402,
text: 'bar'
},
{
prNumber: 20000401,
text: 'foobar'
},
]
Run Code Online (Sandbox Code Playgroud)
是否可以在prNumber上执行"加入"?
例如,可能所需的输出类似于:
[
{
prNumber: 20000401,
text: [
'foo',
'foobar'
]
},
{
prNumber: 20000402,
text: [
'bar'
]
}
]
Run Code Online (Sandbox Code Playgroud)
我没有任何代码样本,所以我不会在这里发布.
这最好使用vanilla javascript,但会接受jQuery的答案.
您应该迭代初始数组并创建关键字的新对象prNumber.以下是如何使用它reduce(假设您已将数组分配给名为的变量orig):
var result = orig.reduce(function(prev, curr, index, arr) {
var num = curr["prNumber"];
if (!prev[num]) {
prev[num] = [];
}
prev[num].push(curr["text"]);
return prev;
}, {});
Run Code Online (Sandbox Code Playgroud)
您可以轻松地将其转换为您问题中列出的示例结构.