GroupBy using LinqJS

117 views Asked by At

I'd like to execute the GroupBy function using LinqJS but it seem's not working well...

My object :

My object

My code :

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

Result :

enter image description here

Should be :

{name: toto, name: tata}

1

There are 1 answers

0
Gosha_Fighten On BEST ANSWER

In C#, the required function will look like:

var result = list.GroupBy(x => x.name, x => x.name, (baseName, names) => new {name = baseName}).ToArray();

So, in LinqJS, it will look like:

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

enter image description here

But, if you just need to get unique names, you can just use:

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

enter image description here