【问题标题】:Query JavaScript Object group by查询 JavaScript 对象组
【发布时间】:2016-05-26 03:51:27
【问题描述】:

我有一个这样的 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 数组。实现这一目标的最有效方法是什么?

【问题讨论】:

    标签: javascript grouping alasql


    【解决方案1】:

    Underscore JS 提供了很好的方法来构建模型并对其进行分组/过滤。

    http://underscorejs.org/#groupBy

    【讨论】:

      【解决方案2】:

      试试这个代码:

      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

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-04
        • 1970-01-01
        • 1970-01-01
        • 2022-01-11
        • 2021-09-24
        相关资源
        最近更新 更多