zoukankan      html  css  js  c++  java
  • 推荐一个小工具:LINQ to JavaScript (jslinq)

    -

          如果你用过c#的linq语句,你会发现这东西确实能让我们从烦琐的技术细节中解脱出来,而且能让我们更加关注项目的业务逻辑.暂且不管linq的缺点,linq语句的出现确实给我们带来了实惠.而javascript中的数组操作是否也能够实现linq似的查询呢?这也是本文推荐的一个开源小项目"LINQ to JavaScript",简称"JSLINQ".

          先看其介绍:"LINQ to JavaScript (JSLINQ) is an implementation of LINQ to Objects implemented in JavaScript. It is built using a set of extension methods built on top of the JavaScript Array object. If you are using an Array, you can use LINQ to JavaScript."

          项目地址:http://www.codeplex.com/JSLINQ.

     1 var myList = [
     2             {FirstName:"Chris",LastName:"Pearson"},
     3             {FirstName:"Kate",LastName:"Johnson"},
     4             {FirstName:"Josh",LastName:"Sutherland"},
     5             {FirstName:"John",LastName:"Ronald"},
     6             {FirstName:"Steve",LastName:"Pinkerton"}
     7             ];
     8             
     9 var exampleArray = From(myList).
    10                    Where("item.FirstName == 'Chris'").
    11                    OrderBy("item.FirstName").
    12                    Select("item.FirstName");

          看到From,Where这些关键字,我们已经感觉到这是在使用Linq了.

          看一下作者的源码,我发现作者其实并没有使用很复杂的技巧,而是把平时一些常用操作使用prototype给Array增加了一些扩展方法(可参见"C#中的this扩展方法与javascript中的prototype方法").这样我们在应用本扩展方法之后,在我们项目中任何需要进行Array查询的时候,就可以用这种直观的linq语句来查询就可以了.这样做的好处不仅仅是我们在查询数组时候更加方便,而且为后期的维护也降低了难度,因为这样简单的查询语句代替了原来繁琐的表达.

          JSLINQ对Array的扩展还真的不错,把Dotnet中的linq基本功能都已经实现了,大家先看看作者为Array增加的19个扩展方法吧.




          严重推荐大家去看看作者的源码,从中你会学到很多有用的东西
          相关资源:JsLinq SDK   JsLinq.js   
          离线浏览


  • 相关阅读:
    为什么不能直接导入Statsmodels使用?
    数据分析工作的主要内容和基本流程
    Nodejs 包与 NPM 第三方模块安装和 package.json 以及 CNPM (4)
    CommonJs 和 Nodejs 中自定义模块 (3)
    pyhthon 处理pdf 合集
    02 nodejs HTTP模块和url模块配置supervisor
    1 nodejs简介与开发环境配置
    mysql 修改root密码和禁用无密码登录配置
    floodFill填充函数函数(六)
    粗略的调整图片对比度和亮度(五)
  • 原文地址:https://www.cnblogs.com/Reany/p/1403656.html
Copyright © 2011-2022 走看看