我想从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中实现这一目标有任何建议?

最佳答案

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

var query = Enumerable.From(data)
    .GroupBy("$.Name", null, "{ Name: $, Count: $$.Count() }")
    .ToArray();

关于javascript - 我如何使用linqjs分组并计算json结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27021820/

10-13 00:44