小牛的专栏

生命并非一個發現的過程,而是一個創造的過程。你并不是在發現你自己,而是在重新創造你自己。所以,別急于決定你是誰,而該急于決定你想做誰。

用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
Self131的公告
文章分类
    存档

    原创  JSLINQ-LINQ to JavaScript 总结 收藏

            JSLINQ是微软Linq特性的JavaScript实现。如同微软的LINQ,JSLINQ可以十分方便地从JavaScript 的数组中进行数据的查询。具体介绍、使用和下载见如下网址:

    http://simplovation.com/jslinqsdk/Samples.htm

    http://www.codeplex.com/JSLINQ/Release/ProjectReleases.aspx?ReleaseId=10625

    如下是我学习的一些总结,不怎么好,不过希望能够对大家有所帮助。

    一.使用方式:      

       将查询结果作为某个变量的值             

                  var result =  From(arr).

                          All("!item.D");

    二.只能使用于数组(不过可以使用一些函数将JSON格式的数据转换为Array进行操作):

              数组形式如下:

                       var arr = [ 

                              {ID:1,FirstName:"小牛",LastName:"Snail",BookIDs:[1001,1002,1003]},                           {ID:2,FirstName:"Dragon",LastName:"HAHA",BookIDs:[2001,2002,2003]}

                       ];  

    三.操作函数的使用方式:

               函数形式:

                       var result = From(arr).

                                Count(function(item){return item.FirstName == 'Chris' ;});

              字符串形式:

                       var result = From(arr).

                                Count("item.FirstName == 'Chris' && index == 0");   

    四.具体操作函数:

              说明:数组中同名的数组元素看作一列,方便下面的描述和理解。如果会SQL相关知识的话,会很好理解。它和SQL中关键字的含义一样。

    From(): 顾名思义指定Array数据源。

    Where(): 其中指定选择条件,可以使用&&、||、!等逻辑运算符。有两种方式一种是定义函数,一种是使用字符串,并使用item来代替当前数据源。这里必须使用item,不能换为其他变量名称。但如果使用第一种方法则可以使用其他变量名。还可以加index条件变量, index表示数据源中数据的下标位置,从0开始。

    Select(): 根据列名来检索数据,和Where不同之处是Select指定某一列,而Where指定具体列的值。

    SelectMany(): 感觉和Select一样。(不确定)

    OrderBy(): 根据某一列顺序排序。(这个顺序是相应元素的默认排序方式,如数字从小到大,字母从a到z.中文也是按字母的顺序)

    OrderByDescending(): 和OrderBy()刚好相反,逆序排列。

    Count(): 统计行数。 可以在其中加相应的条件。还可以加index条件。

    Distinct(): 取消重复行。有3种使用方式。第一种:直接跟在Select()方法之后,不需任何参数。第二种:直接将取消重复行的列名当作他的参数。第三种:是第一种的函数形式实现。

    Any(): 是否包含满足某些条件的元素。返回true 和 false.

    All(): 是否包含指定的列名。可以使用&&,||,!。返回true 和 false

    Revrese(): 将Select()查询出来的结果,倒过来显示。(注意他并没有排序)

    First(): 查询结果中的第一行元素。使用方式同Distinct(),可以加index参数,并且可以直接在最后将数组源中列名来获取相应的值.

    Last(): 查询结果中的最后一行元素。使用方式同First()。

    ElementAt(): 获取指定下标的一行元素。从0开始.如同First()可以直接在最后将数组源中列名来获取相应的值。

    发表于 @ 2008年06月15日 19:41:00 | 评论( loading... ) | 编辑| 举报| 收藏

    旧一篇:Visual Studio Team System 2008 Team Suite 中文版 发布 | 新一篇:WebQQ 实现

    • 发表评论
    • 评论内容:
    •  
    Copyright © Self131
    Powered by CSDN Blog