我正在尝试将linqJS与以下对象数组一起使用:
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做这个,但我希望能使用这个插件。
感谢任何帮助!
答案 0 :(得分:0)
试试这个:
Enumerable.From(foo)
.GroupBy(function(x) { return x.id })
.Select(function(x)
{
return x.Max(function(z) { return z.index });
})
.ToArray();
答案 1 :(得分:0)
var bar = Enumerable.From(foo)
.GroupBy("$.id")
.Select("$.OrderByDescending('$.index').First()")
.ToArray();