Javascript GroupBy使用LinqJS

Javascript GroupBy使用LinqJS,javascript,linq.js,Javascript,Linq.js,我想使用LinqJS执行GroupBy函数,但它似乎工作不好 我的目标: 我的代码: Enumerable.From(obj).GroupBy('{name: $.name}', null, '{name: $.name}').ToArray(); 结果: 应该是: {name:toto,name:tata}在C#中,所需的函数如下所示: var result = list.GroupBy(x => x.name, x => x.name, (baseName, names)

我想使用LinqJS执行
GroupBy
函数,但它似乎工作不好

我的目标:

我的代码:

Enumerable.From(obj).GroupBy('{name: $.name}', null, '{name: $.name}').ToArray();
结果:

应该是:

{name:toto,name:tata}
在C#中,所需的函数如下所示:

var result = list.GroupBy(x => x.name, x => x.name, (baseName, names) => new {name = baseName}).ToArray();
var result = Enumerable.From(obj).GroupBy('x => x.name', 'x => x.name', 'baseName, names => {name: baseName}').ToArray();
因此,在LinqJS中,它看起来像:

var result = list.GroupBy(x => x.name, x => x.name, (baseName, names) => new {name = baseName}).ToArray();
var result = Enumerable.From(obj).GroupBy('x => x.name', 'x => x.name', 'baseName, names => {name: baseName}').ToArray();

但是,如果您只需要获得唯一的名称,您可以使用:

var result = Enumerable.From(obj).Select("x => x.name").Distinct().ToArray();

是否需要在数组中获取唯一的名称?Enumerable.From(obj).Select(“x=>x.name”).Distinct().ToArray();也许是这样的?你需要意识到的是,如果你曾经为一个键投影到一个对象,你必须提供一个比较器。比较javascript对象是没有意义的(前提是您没有定义函数),这就是您需要它的原因。