将LINQ查询转换为LINQJS

将LINQ查询转换为LINQJS,linq,linq.js,Linq,Linq.js,您将如何翻译此查询: var groups = visibleDateRange.select((date, index) => new { Date = date, Index = index }) .GroupBy(p => p.Index / 3); 到javascript linqJS查询 所有的linqJS示例都非常简单。。。没有真实生活的东西 我的问题是如何从select返回带有日期+索引的匿名对

您将如何翻译此查询:

var groups = visibleDateRange.select((date, index) => new { Date = date, Index = index })
                                     .GroupBy(p => p.Index / 3);
到javascript linqJS查询

所有的linqJS示例都非常简单。。。没有真实生活的东西

我的问题是如何从select返回带有日期+索引的匿名对象

var groups = Enumerable.From(visibleDateRange)
    .Select("date, index => { Date: date, Index: index }")
    .GroupBy("p => p.Index / 3")
    .ToArray();
我使用lambda语法来定义选择器,但是您当然可以使用常规javascript函数等等


您希望从中得到的是,您在函数中返回的只是常规javascript。返回一个包含日期和索引成员的匿名对象,创建一个包含日期和索引成员的javascript对象。没什么不同。

谢谢杰夫抽出时间。我仍然是一个静态的家伙,呵呵,我只是看不出“选择器”是如何解析的,因为它是一个完整的字符串。那么linqjs真的在解析选择器的语法?linqjs知道在.Selectstringhere中实际上是一个匿名对象或对象文本,这真是太疯狂了。当您提供字符串选择器时,Linq.js发挥了一些魔力。也就是说,它被解析为一个函数。因此,用于定义函数的语法看起来很像C lambda。如果你看一下代码,它基本上是在lambda的RHS上进行评估。