【问题标题】:does linq work in javascript [duplicate]linq 在javascript中工作吗[重复]
【发布时间】:2018-05-05 21:51:57
【问题描述】:

我在 javascript 中有这个,它按预期计算一个代表数字的字符串(有效的):

dt2.Rows[0]["CountryID"]

我想知道是否可以在 javascript 中将其与 linq 结合使用 类似dt2.Rows.Select (x => x.CountryID) 所以我可以一次检索所有国家/地区 ID。但我得到一个语法错误。 javascript 中 linq 的正确语法是什么(如果存在)。

【问题讨论】:

  • LINQ 是 C# 的一个特性,它将如何在 Javascript 中工作
  • 您可以使用map 代替Select
  • 您可以将 jslinq 用于 javascript。参考jslinq.codeplex.com
  • 不,它是一个 .NET 功能。 Javscript 当然不是 .NET 语言,因此没有 LINQ。但是,您当然可以像在 Hameed 链接的项目中那样构建自己的方法。但是,您当然可以发出向您发送信息的服务器请求。
  • dt2.Rows.map(function (x) { return x.CountryId; })

标签: javascript c# linq


【解决方案1】:

LINQ 是 C# 的一部分,而不是 Javascript。但是,有一些库(如 LINQ.JS - here is an example)会重新创建它。

要想在 JS 中得到同样的效果,只需要使用循环? 像这样:

var idList = new Array(dt2.Rows.length);
for(var index = 0; index < dt.Rows.length; index++){
        idList[index] = dt2.Rows[index].CountryId;
}

【讨论】:

    【解决方案2】:

    您可以使用linq.js 使用以下语法来获取值为CountryID 的数组。

    获取值的方法

    '$.CountryID'                        // short syntax with $ as actual row
    'x => x.CountryID'                   // lambda as string
    x => x.CountryID                     // lambda as ES6 native arrow function
    function (x) { return x.CountryID; } // standard JS function
    

    var array = [{ id: 1, CountryID: 2 }, { id: 2, CountryID: 1 }, { id: 3, CountryID: 3 }, { id: 4, CountryID: 2 }, { id: 5, CountryID: 2 }],
        result = Enumerable
            .From(array)
            .Select('$.CountryID')
            .ToArray();
       
    console.log(result);
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/linq.js/2.2.0.2/linq.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 2014-06-02
      • 1970-01-01
      • 2018-01-04
      • 2015-09-08
      • 2011-09-25
      • 2019-08-18
      • 2018-12-01
      相关资源
      最近更新 更多