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... ) | 举报| 收藏