Javascript 林克JS。如何按重复分组?
我正在尝试将linqJS用于以下对象数组:Javascript 林克JS。如何按重复分组?,javascript,linq,linq.js,Javascript,Linq,Linq.js,我正在尝试将linqJS用于以下对象数组: var foo = [ { id: 1234, index: 0, }, { id: 1234, index: 1, }, { id: 5678, index: 2, }, { id: 9123, index: 3, } ]; 我要做的是将那些重复的id的对象分
var foo = [
{
id: 1234,
index: 0,
},
{
id: 1234,
index: 1,
},
{
id: 5678,
index: 2,
},
{
id: 9123,
index: 3,
}
];
我要做的是将那些重复的id的对象分组,然后从该组中选择索引更大的对象,在本例中为foo[1]。我没有太多使用linq,所以我不确定这是否可行,这就是我目前得到的:
var bar = Enumerable.From(foo)
.GroupBy(function (x) { return x.id == x.id; })
.ToArray();
但它不起作用。。。
我知道如何使用vanilla JS实现这一点,但我希望使用该插件
谢谢你的帮助
jsiddle:试试这个:
Enumerable.From(foo)
.GroupBy(function(x) { return x.id })
.Select(function(x)
{
return x.Max(function(z) { return z.index });
})
.ToArray();
.GroupBy(函数(x){return x.id;})
var bar = Enumerable.From(foo)
.GroupBy("$.id")
.Select("$.OrderByDescending('$.index').First()")
.ToArray();