根据值对JavaScript数组项进行分组
根据值对javascript数组项进行分组 假设您有一个json对象,如:根据值对JavaScript数组项进行分组,javascript,jquery,json,Javascript,Jquery,Json,根据值对javascript数组项进行分组 假设您有一个json对象,如: [ { prNumber: 20000401, text: 'foo' }, { prNumber: 20000402, text: 'bar' }, { prNumber: 20000401, text: 'foobar' }, ] 是否可以对prNumber执行联接 例如,所需的输出可能类似于: [ { prNumber: 2000
[
{
prNumber: 20000401,
text: 'foo'
},
{
prNumber: 20000402,
text: 'bar'
},
{
prNumber: 20000401,
text: 'foobar'
},
]
是否可以对prNumber执行联接
例如,所需的输出可能类似于:
[
{
prNumber: 20000401,
text: [
'foo',
'foobar'
]
},
{
prNumber: 20000402,
text: [
'bar'
]
}
]
我没有任何有价值的代码示例,所以我不会在这里发布它们
这会更倾向于使用普通javascript,但会接受jQuery的答案。您应该迭代初始数组,并创建新的对象,并键入prNumber。假设已将数组分配给名为orig的变量,下面介绍如何使用reduce执行此操作: 您可以很容易地将其转换为问题中概述的示例结构。请添加您遇到的问题,以便我们可以帮助您找出它不起作用的原因。添加一个演示当前问题的示例也会有所帮助。
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;
}, {});