var queryResulttest = $.Enumerable.From([{ id: 2, name: "test2", i: 2, ii: 1 }, { id: 4, name: "test3", i: 2, ii: 1 }, { id: 4, name: "test3", i: 2, ii: 1 }, { id: 2, name: "test3", i: 2, ii: 2 }, { id: 3, name: "test2", i: 2, ii: 2 }])
.GroupBy("{id:$.id,name:$.name}", null,
"{id:$.id,name:$.name,Amounts: $$.Select().ToArray()}", "$.id + '-'+ $.name").ToArray();
console.log(queryResulttest);
开始看linqjs的文档不知道怎么使用,开始还以为groupby的第一个参数是放分组的字段,后来发现分组结果不对;于是找资料发现groupby的最后一个参数才是分组字段,但是第一个字段也要select分组的字段,如果第一个字段没有写,那么后面几个参数返回的是undefined,分组就没有意义了。
最后一个参数写法不一定像这样 :"$.id + '-'+ $.name"
我测试过几种写法比如 "$.id + $.name" ,"$.id +'随便字符'+ $.name"都可行 ,不能这样写 "$.id,$.name"
以上只是初步测试,不知道是否理解错