【问题标题】:Linq.js Enumerable.from()Linq.js Enumerable.from()
【发布时间】:2013-12-25 09:57:57
【问题描述】:

我刚刚发现了这个非常棒的 Linq.js 库。我正在按照示例编写查询,例如:

Enumerable.from(jsonArray).select(...); // noice

我可以使用这个快捷方式吗?

jsonArray.select(...); // error as expected

我阅读了库中的测试,似乎几乎每个电话都以Enumerable.someCommand(); 开头。我想知道 linq 命令是否已应用于 js 中的正确原型,因此我可以以第二行代码的样式调用它们。我是新手不知道吗?

【问题讨论】:

  • 那么 linq 操作不只是扔到 Array 原型上是有原因的。我不知道这是否是 the 原因,但它并不完全是轻量级的。需要将数组和对象转换为 Enumerable 对象,以便您可以在完成查询时对它们进行操作并返回。就是这样。

标签: javascript linq linq.js


【解决方案1】:

我是开源项目http://www.jinqJs.com的创建者。

你可以简单地做 jinqJs().from(jsonArray).select();

如果我能提供更多帮助,请告诉我

【讨论】:

    【解决方案2】:

    如果您担心 Linq.js 没有扩展 Array 原型,我认为它放错了位置。它不完全是一个轻量级的框架,有点像 jquery 不做同样事情的原因。你不应该期望任何东西都能在任何东西上起作用。

    如果您想更好地弥合这个差距,添加一些方法来转换到另一个应该是安全的。

    if (!Array.prototype.AsEnumerable) { // not likely to be used by others
        Array.prototype.AsEnumerable = () => Enumerable.From(this);
    }
    

    那么你可以这样做:

    jsonArray.AsEnumerable().Select(...);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 2019-05-24
      • 2017-05-07
      • 1970-01-01
      相关资源
      最近更新 更多