1

我想从我的 web 方法返回一些 json,在客户端我可以使用 linqjs 进行分组和计数。

一些模拟数据看起来像....

var data = [
    { Name: "Bob" },
    { Name: "Bob" },
    { Name: "Ann" },
    { Name: "Charlie" },
    { Name: "Charlie" },
    { Name: "Charlie" }
];

我希望结果 linqjs 查询产生一个对象数组....

var results = [
    { "Name": "Bob", "Count": 2 },
    { "Name": "Ann", "Count": 1 },
    { "Name": "Charlie", "Count": 3 }
];

然后,我可以在我的 html 上填充选择列表的车把模板中使用结果。

这是一个我认为接近但我的计数仍然关闭的例子......

var groupedNames = Enumerable.From(data).GroupBy("$.Name", null,
       function (key, g) {
           var result = {
               Name: key,
               Count: g.Sum(g + 1)
           }
           return result;
       }).ToArray();

alert(groupedNames);

有人对如何在 linqjs 中完成此任务有任何建议吗?

4

1 回答 1

0

要计算组中的项目,请使用Count()方法。

var query = Enumerable.From(data)
    .GroupBy("$.Name", null, "{ Name: $, Count: $$.Count() }")
    .ToArray();
于 2014-11-19T17:10:15.833 回答