LINQ to JavaScript

本文介绍了JSLINQ,它是LINQ在JavaScript上的实现,为JS的Array对象增加了扩展方法,提供了类似SQL的查询能力。文章通过示例展示了如何使用From、Where、Select及OrderBy等操作符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天正在看The Art and Science of JavaScript,突然想到javascript里也应该有关于LINQ的实现,于是Google了一下,果然发现LINQ to JavaScript这个OpenSource Project。

介绍
LINQ to JavaScript (JSLINQ) 是LINQ在JavaScript上的实现。其为JS的Array对象上增加了一系列扩展方法。如果你要用到Array,那么你就可以使用JSLINQ。

如果你还不了解什么是LINQ;LINQ是.NET Framework 3.5支持的新特性,其可以允许像SQL查询一样操作各种类型的数据。LINQ to JavaScript就是专门为数组提供查询的能力。

用法示例
var  myList  =  [
            {FirstName:
" Chris " ,LastName: " Pearson " },
            {FirstName:
" Kate " ,LastName: " Johnson " },
            {FirstName:
" Josh " ,LastName: " Sutherland " },
            {FirstName:
" John " ,LastName: " Ronald " },
            {FirstName:
" Steve " ,LastName: " Pinkerton " }
            ];
            
var  exampleArray  =  From(myList).
                   Where(
" item.FirstName == 'Chris' " ).
                   OrderBy(
" item.FirstName " ).
                   Select(
" item.FirstName " );

 

使用LINQ to JavaScript

我们使用下面的数组来作为例子演示:
var  myList  =  [
            {FirstName:
" Chris " ,LastName: " Pearson " },
            {FirstName:
" Kate " ,LastName: " Johnson " },
            {FirstName:
" Josh " ,LastName: " Sutherland " },
            {FirstName:
" John " ,LastName: " Ronald " },
            {FirstName:
" Steve " ,LastName: " Pinkerton " }
            ];

就像在.NET中一样的使用From操作符
From操作符不是必须的,写上的话可以使得看上去更像LINQ的语法。

 
var  example  =  From(myList);

使用Where操作符来限定查询条件
如下所示,我们会得到数组里全部属性FirstName值为Chris的对象。

 
//  传入的是查询表达式
var  whereExample1  =  From(myList).
                      Where(
" item.FirstName == 'Chris' " );
 
//  传入的是查询函数方法
var  whereExample2  =  From(myList).
                      Where(
function (item){ return  item.FirstName  ==   ' Chris ' ;});

使用Select操作符来指定返回的数据
如下所示,我们会得到数组里的每个元素的FirstName属性。

 
// 传入的是查询表达式
var  selectTest1  =  From(myList).
                Select(
" item.FirstName " );
 
// 传入的是查询函数方法
var  selectTest2  =  From(myList).
                Select(
function (item){ return  item.FirstName;});
使用OrderBy操作符来决定怎样对数组中的元素进行排序
如下所示,我们会得到按FirstName属性排序后的数组。
// 传入的是查询表达式
var  sortTest1  =  From(myList).
             OrderBy(
" item.FirstName " );
 
// 传入的是查询函数方法
var  sortTest1  =  From(myList).
             OrderBy(
function (item){ return  item.FirstName});



HomePage: http://www.codeplex.com/JSLINQ
Download: http://files.cnblogs.com/Icebird/JSLINQ_withSDK_v1.03.rar  (2008-02-10)

转载于:https://www.cnblogs.com/Icebird/archive/2008/02/25/JSLINQ.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值