我有一个像这样的JavaScript对象:
[{"a":1,"b":2},{"a":1,"b":3},{"a":2,"b":4},{"a":2,"b":5}]
我想将此对象字段分组' a'并希望这样的事情:
[{"a":1,"values":[{"a":1,"b":2},{"a":1,"b":3}]},{"a":2,"values":[{"a":2,"b":4},{"a":2,"b":5}]}]
我有一个包含数千个元素的JavaScript数组。实现这一目标的最有效方法是什么?
答案 0 :(得分:1)
Underscore JS提供了很好的方法来构建模型并对它们进行分组/过滤。
答案 1 :(得分:1)
试试这段代码:
var data = [{"a":1,"b":2},{"a":1,"b":3},{"a":2,"b":4},{"a":2,"b":5}];
var res = alasql('SELECT a, ARRAY(_) AS [values] FROM ? GROUP BY a',[data]);
此处ARRAY(_)
是一个特殊的聚合函数,它将当前记录(_
)保存到名为values
的数组中。
您可以使用此示例in jsFiddle。