linq.js的用法

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

linq.js 详细介绍

linq.js 是一个 JavaScript 实现的 LINQ。


主要特性:


实现所有 .NET 4.0 的方法

complete lazy evaluation

full IntelliSense support for VisualStudio

two versions - linq.js and jquery.linq.js (jQuery plugin)

support Windows Script Host

binding for Reactive Extensions for JavaScript(RxJS) and IntelliSense Generator -> see documentation

NuGet install support

示例代码:


var jsonArray = [

    { "user": { "id": 100, "screen_name": "d_linq" }, "text": "to objects" },

    { "user": { "id": 130, "screen_name": "c_bill" }, "text": "g" },

    { "user": { "id": 155, "screen_name": "b_mskk" }, "text": "kabushiki kaisha" },

    { "user": { "id": 301, "screen_name": "a_xbox" }, "text": "halo reach" }

]

// ["b_mskk:kabushiki kaisha", "c_bill:g", "d_linq:to objects"]

var queryResult = Enumerable.From(jsonArray)

    .Where(function (x) { return x.user.id < 200 })

    .OrderBy(function (x) { return x.user.screen_name })

    .Select(function (x) { return x.user.screen_name + ':' + x.text })

    .ToArray();

// shortcut! string lambda selector

var queryResult2 = Enumerable.From(jsonArray)

    .Where("$.user.id < 200")

    .OrderBy("$.user.screen_name")

    .Select("$.user.screen_name + ':' + $.text")

    .ToArray();


/


用途:方便js操作查询json数据。


下载网址:http://jslinq.codeplex.com/


使用方法:只需要引用linq.js即可。


查询方法:


一、where查询


var myList = [

  { Name: "Jim", Age: 20 },

  { Name: "Kate", Age: 21 },

  { Name: "Lilei", Age: 18 },

  { Name: "John", Age: 14 },

  { Name: "LinTao", Age: 25 }

];

var arrRes = Enumerable.From(myList).Where("x=>x.Name=='Jim'").ToArray();

 


二、排序:OrderBy


var myList = [

  { Name: "Jim", Age: 20 },

  { Name: "Kate", Age: 21 },

  { Name: "Lilei", Age: 18 },

  { Name: "John", Age: 14 },

  { Name: "LinTao", Age: 25 }

];

var arrRes = Enumerable.From(myList).OrderBy("x=>x.Age").ToArray();//降序OrderByDescending() 


三、去重:Distinct


var myList = [

  { Name: "Jim", Age: 20 },

  { Name: "Kate", Age: 20 },

  { Name: "Lilei", Age: 20 },

  { Name: "John", Age: 14 },

  { Name: "LinTao", Age: 25 }

];

var arrRes = Enumerable.From(myList).Distinct("x=>x.Age").ToArray(); 


四、遍历:ForEach

var myList = [

  { Name: "Jim", Age: 20 },

  { Name: "Kate", Age: 20 },

  { Name: "Lilei", Age: 20 },

  { Name: "John", Age: 14 },

  { Name: "LinTao", Age: 25 }

   ];

   Enumerable.From(myList).ForEach(function(value, index){

        document.write("值="+value+",索引="+index);  

}); 


五、取唯一对象:First、FirstOrDefault、Last、LastOrDefault、Single、SingleOrDefault

var myList = [

  { Name: "Jim", Age: 20 },

  { Name: "Kate", Age: 20 },

  { Name: "Lilei", Age: 20 },

  { Name: "John", Age: 14 },

  { Name: "LinTao", Age: 25 }

];

var arrRes = Enumerable.From(myList).FirstOrDefault("x=>x.Age>18");

 

六、Skip、Take


Enumerable.Range(1,10).Skip(5)//结果[6,7,8,9,10]

Enumerable.Range(1,10).Take(5)//结果[1,2,3,4,5]

640?wx_fmt=png


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员大牛们的经典语录

1、很多问题不见得会出在你身上&#xff0c;但你亦需要想法解决问题&#xff0c;否则就会变成你的问题&#xff1b;2、懂得但策略的说不&#xff08;不会这个准备累死吧&#xff0c;程序员&#xff09;&#xff1b;3、我考进事业单位&#xff0c;呵呵&#xff0c;没有传说中的那…

SQLSERVER得到数据库中所有表字段及字段中文描述

如何得到数据库中所有表字段及字段中文描述以下资料,通过csdn的一位师兄从SQL版主那得到:sql中SELECT (case when a.colorder1 then d.name else end) N表名, a.colorder N字段序号, a.name N字段名, (case when COLUMNPROPERTY( a.id,a.name,IsIdentity)1 then √else end)…

SQL Server 2008 R2——使用数字辅助表(master..spt_values)实现用计数字段对记录进行重复显示...

SQL Server 2008 R2——使用数字辅助表&#xff08;master..spt_values&#xff09;实现用计数字段对记录进行重复显示 原文:SQL Server 2008 R2——使用数字辅助表&#xff08;master..spt_values&#xff09;实现用计数字段对记录进行重复显示版权声明 版权声明&#xff1a;原…

编程界十大顶级IDE

IDE是集成开发环境&#xff08;Integrated Development Environment&#xff09;缩写。IDE是一种个编程软件&#xff0c;是集成了程序员语言开发中会需要的一些基本工具、基本环境和其他辅助功能的应用软件。IDE一般包含三个主要组件&#xff1a;源代码编辑器&#xff08;Edito…

布法罗博士计算机专业回国人员,四名UW学生参加爱达荷州国家实验室的实习计划...

中游石油和天然气运营正日益面临代价高昂&#xff0c;受到严格审查的事件&#xff0c;这些事件源于老化(泄漏和爆炸)&#xff0c;自然事件(洪水&#xff0c;地震活动和极端天气)以及网络入侵和攻击。解决这些问题的一种方法涉及使用集成的智能监控系统或安全嵌入式智能(SEI)。怀…

计算机考试题操作题答案,全国计算机等级考试模拟题一(带操作题及答案)

一、选择题1. 数据的存储结构是指( )。A&#xff0e;数据所占的存储空间 B&#xff0e;数据的逻辑结构在计算机中的存放形式 C&#xff0e;数据在计算机中的顺序存储方式 D&#xff0e;存储在计算机外存中的数据 B。【解析】数据的存储结构&#xff0c;又称为数据的物理结构&am…

Library not loaded: @rpath/libswiftCore.dylib

解决方法&#xff1a; 转载于:https://www.cnblogs.com/penger/p/5080581.html

计算机组成原理课程设计a,计算机组成原理课程设计报告.doc

计算机组成原理课程设计报告.doc (13页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.90 积分&#xfeff;计算机组成原理课程设计报告实验项目&#xff1a;1、设计一个具有带进位加法和立即数寻址…

绝地求生登录计算机需要授权,绝地求生国服第三方授权登录异常解决方法 绝地求生国服授权登录错误怎么办...

近日&#xff0c;Steam第三方授权登录发生异常&#xff0c;导致所有需要Steam账号绑定登录的网站都出现登录错误&#xff0c;下面就为大家带来绝地求生国服第三方授权登录异常解决方法。绝地求生国服第三方授权登录异常解决方法老兵登机活动绑定公告亲爱的老兵们&#xff1a;今…

SQL Server索引怎么用

什么是索引拿汉语字典的目录页&#xff08;索引&#xff09;打比方&#xff1a;正如汉语字典中的汉字按页存放一样&#xff0c;SQL Server中的数据记录也是按页存放的&#xff0c;每页容量一般为4K 。为了加快查找的速度&#xff0c;汉语字&#xff08;词&#xff09;典一般都有…

EF 实现自定义数据库字符串

1、EF模板生成继承DbContext的类文件重新建一个部分类文件避免每次生成实体都会覆盖掉。2、重新构造调用数据库连接字符串的函数VS模板生成示例&#xff1a;public Test_DBEntities(): base("nameTest_DBEntities"){} 重写函数public Test_DBEntities(string conn…

原神服务器维护后抽奖池会更新吗,原神:武器池改动,玩家的诉求再次得到反馈!PS端将与官服互通!...

大伙直播都看了吗&#xff1f;反正我看完了。现在满脑子都是大伟哥的嗯典。这好吗&#xff1f;这不好。但是没有关系&#xff0c;内容还是有的。首先&#xff0c;剧情上的雷神确立了&#xff0c;就是这位大姐。(好像有什么锋利的东西悬在了我的头顶&#xff0c;不过这上面&…

解决Genymotion下载设备失败的方法(Connection Timeout)

一直下载不下来&#xff0c;报错。 解决办法&#xff1a; 打开 C:\Users\用户名\AppData\Local\Genymobile目录 打开genymotion.log文件&#xff0c;在里面最下面几行&#xff0c;找到如下日志 [Debug] Downloading file "http://files2.genymotion.com/dists/4.4.4/ova/…

寻仙服务器要维护多久,寻仙手游几天开一个区

摘要寻仙手游最新开服时间表IOS和安卓&#xff0c;寻仙手游什么时候新增开服&#xff0c;开服时间公告。我们将于8月17日(周四)凌晨5:00-9:00对全服进行停机更新&#xff0c;请您提前保存游戏进程&#xff0c;安全下线。听到很多小伙伴都在讨论寻仙手游几天开一个区&#xff0c…

Linux文件编程(2)

文件打开创建补充 &#xff08;1&#xff09;O_EXCL O_EXCL和O_CREAT配合使用 若文件不存在则创建文件 若文件存在则返回-1 代码演示 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<stdio.h> int main() {int fd;fdope…

程序员常访问的国外技术交流网站

技术人员经常会在各种技术交流社区游逛&#xff0c;大家互相学习、交流、分享、帮助。互联网拉近了地球人的距离&#xff0c;让全世界的技术人员可以聚集在一起分享交流。当然因为多方面原因&#xff0c;通常最新最权威的技术知识传到国内存在一定“时差”。本文将给大家分享技…

标准C库对文件操作的引入

modeopen和fopen的区别 fopen、fread、fwrite的使用 &#xff08;1&#xff09;fopen FILE *fopen(const char *path, const char *mode);path&#xff1a;文件路径 mode&#xff1a;以什么权限打开&#xff0c;要用双引号 它的返回值并不是文件描述符 若失败返回NULL 若操作成…

转载爱哥自定义View系列--Paint详解

上图是paint中的各种set方法 这些属性大多我们都可以见名知意&#xff0c;很好理解&#xff0c;即便如此&#xff0c;哥还是带大家过一遍逐个剖析其用法&#xff0c;其中会不定穿插各种绘图类比如Canvas、Xfermode、ColorFilter等等的用法。 set(Paint src) 顾名思义为当前画笔…

只有程序员才懂这些黑色幽默!

也是机缘巧合&#xff0c;让我一个之前工作从未接触过程序员的人&#xff0c;现在成天和程序员打交道&#xff0c;要知道&#xff0c;不懂技术&#xff0c;往往他们想和你幽默的搞笑一下&#xff0c;未必能读懂。都说程序员情商低&#xff0c;不爱说话&#xff0c;比较闷骚。可…

Linux 进程、父进程、子进程

进程和程序的区别 一、 进程是动态的&#xff0c;程序是静态的&#xff1a;程序是有序代码的集合&#xff0c;进程是程序的执行。进程有核心态/用户态。 二、 进程是暂时的&#xff0c;程序是永久的&#xff1b;进程是一个状态变化的过程&#xff0c;程序可以长久保存 三、进…