精华内容
下载资源
问答
  • linq.js

    2017-04-26 10:58:00
    今天在项目里发现一个类似于linq的写法,上网百度了一下发现是linq.js,感觉还挺有用的,于是把这个文章转载过来与大家分享,也让自己学习。 内容: 在做后台开发的时候,总是会碰到将拿到手的数据进行条件校验,...

    今天在项目里发现一个类似于linq的写法,上网百度了一下发现是linq.js,感觉还挺有用的,于是把这个文章转载过来与大家分享,也让自己学习。

    内容:

        在做后台开发的时候,总是会碰到将拿到手的数据进行条件校验,而这些数据又不仅仅是单纯的一个,有时候会是一串大数据,需要自己在后台处理进而展示到前台页面上,酱紫自己第一反应就是使用for循环来遍历,并把所需的数据放在相应的地方。可是导致的后果却是再审视后台的代码时,那么多那么多重复的代码,我可以把对同一个dom节点的遍历写两遍,于是我就被同事大神给嘲笑了,不过幸好,他后来教了我一个“神武器”——linq.js,一个专门解决我遇到的问题的神器。

        linq,全称为Language Integrated Query,通过构建快速查询语句,可快速从数据库或集合中筛选数据集、以查询数据库相同的方式操作内存数据。最主要的使用它是来对集合进行各种操作,比如:去重,去空,省略了以往拿for遍历判断取值的麻烦性。话不多说,奉上小小经验:

       linq.js相当于是一个前端框架吧,因此使用起来也只是在页面上引入它的js文件而已,或者在thinkjs项目中使用的时候,npm一下linq.js包就好了。这里使用的是express项目:

       

    var express = require('express');
    var linq = require('linq');
    var router = express.Router();
    
    /* GET home page. */
    router.get('/', function(req, res, next) {
      var myList = [
        { Name: "Jim", Age: 20,type:1 },
        { Name: "Kate", Age: 20 ,type:2},
        { Name: "Lilei", Age: 18,type:1 },
        { Name: "John", Age: 14,type:2 },
        { Name: "LinTao", Age: 25,type:1 }
      ];
      // var arrRes = linq.from(myList).where("x=>x.Name=='John'").toArray();//条件查询    [{"Name":"John","Age":14,"type":2}]
      //var arrRes = linq.from(myList).select("x=>x.Age*10").toArray();//条件选择          [200,200,180,140,250]
      //var arrRes = linq.from(myList).orderBy("x=>x.Age").toArray();//排序[{"Name":"John","Age":14,"type":2},{"Name":"Lilei","Age":18,"type":1},{"Name":"Jim","Age":20,"type":1},{"Name":"Kate","Age":20,"type":2},{"Name":"LinTao","Age":25,"type":1}]
      var arrRes = linq.from(myList).distinct("x=>x.Age").where("y=>y.type=='2'").toArray();//去重  言外之意是:去重之后再搜索   [{"Name":"John","Age":14,"type":2}]
      //var arrRes = linq.from(myList).forEach(function (value, index) {//循环
      //    console.log('value:'+value.Name+' =======index : '+index)
      //});
      //var arrRes = linq.from(myList).firstOrDefault('x=>x.Age>18');//取唯一对象:First、FirstOrDefault、Last、LastOrDefault、Single、SingleOrDefault   {"Name":"Jim","Age":20,"type":1}
      //var arrRes=linq.range(1,10).skip(5).toArray();//结果[6,7,8,9,10]
      //var arrRes=linq.range(1,10).take(5).toArray();//结果[1,2,3,4,5]
    
      // var array1 = [1,412,5,3,5,412,7];
      // var array2 = [20,12,5,5,7,310];
      //var arrRes=linq.from(array1).except(array2).toArray();//结果3,412,1 差集
      //var arrRes=linq.from(array1).intersect(array2).toArray();//结果5,7  交集
      //var arrRes=linq.from(array1).union(array2).toArray();//结果是两个结果集里面所有值,并自动去重
    
      //var arrRes=linq.range(1,10).where('x=>x%2==0').toArray();
      // res.render('index', { title: JSON.stringify(arrRes) });
    
      // var arr1=["2","",""];
      // var arrRes=linq.from(arr1).where("x=>x==''").toArray();
      console.log("=============="+JSON.stringify(arrRes));
    
    });
    
    module.exports = router;

     

    转载于:https://www.cnblogs.com/yanglang/p/6767492.html

    展开全文
  • linq.js文件,附官方说明,使用时使用jquery.linq.min.js和json2.js
  • linq.js JQuery.linq.js的试验例子

    千次阅读 2013-09-09 09:42:43
    ///**** linq.js, JQuery.linq.js Test Begin*****///  //var jsonArray = [  // { "user": { "id": 100, "screen_name": "d_linq" }, "text": "to objects" },  // { "u
    ///**** linq.js, JQuery.linq.js Test Begin*****///
                //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();
    ///**** linq.js, JQuery.linq.js Test End  *****///
    展开全文
  • linq.js (linq to js)使用汇总

    千次阅读 2017-08-01 22:18:08
    linq.js 详细介绍 linq.js 是一个 JavaScript 实现的 LINQ。 主要特性: 实现所有 .NET 4.0 的方法complete lazy evaluationfull IntelliSense support for VisualStudiotwo versions - linq.js and jquery...

    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查询

    1
    2
    3
    4
    5
    6
    7
    8
    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

    1
    2
    3
    4
    5
    6
    7
    8
    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

    1
    2
    3
    4
    5
    6
    7
    8
    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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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

    1
    2
    3
    4
    5
    6
    7
    8
    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

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

      


    展开全文
  • 林克 这是.NET 库JavaScript实现。 它包含所有原始的.NET方法以及一些其他方法。...// linq.js - anonymous function Enumerable . range ( 1 , 10 ) . where ( function ( i ) { return i % 3 ==
  • linq.js的用法

    千次阅读 2018-04-18 14:03:17
    linq.js 详细介绍linq.js 是一个 JavaScript 实现的 LINQ。主要特性:实现所有 .NET 4.0 的方法complete lazy evalu...
        

    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


    展开全文
  • 该项目提供了linq.js 3.0 beta版的类型定义文件。 档案文件 linq3.amd.d.ts ==> linq.js 3.0版beta( )的类型定义文件,AMD风格 linq3.d.ts ==>非AMD风格的linq.js版本3.0 beta( )的类型定义文件 使用范例 注意...
  • LinQ.js

    2017-02-16 09:16:31
    前言:前面几篇介绍了下C#基础技术中的几个:反射、特性、泛型、序列化、扩展方法、Linq to Xml等,本来还有两三个知识点没有写完,比如委托、多线程、异步等,...博主几年前用过Linq to js,那个时候还觉得那样写很
  • Vue中linq.js的使用

    千次阅读 2018-08-17 12:13:31
    1.linq.js介绍 2.Vue中linq.js安装 3.linq.js使用 1.运行npm install linq npm install linq 2.引入linq(在你需要用到的组件中引入) var Enumerable = require('linq'); linq并不需要在main.js中import...
  • linq.js 英文方法

    2017-08-17 15:40:32
    linq.js的方法介绍
  • 数组插件----linq.js

    2019-10-07 00:52:08
    优点 1、支持jQuery插件的方式。jquery.linq.min.js。 2、也可以像普通js方法一样使用。... 4、和C#Linq有很相似的地方,这个就会让你上手起来更快,更让我欢喜的是在linq.js的一些方法中,你可以像写Lambda...
  • 前端js 筛选json数据 可用框架 linq.js

    千次阅读 2016-10-17 14:10:18
    前端js 筛选json数据 可用框架 linq.js 开源位置:http://jslinq.codeplex.com/
  • 又一神器框架:linq.js

    2016-07-12 08:07:00
    1、支持jQuery插件的方式。jquery.linq.min.js。 2、也可以像普通js方法... 4、和C#Linq有很相似的地方,这个就会让你上手起来更快,更让我欢喜的是在linq.js的一些方法中,你可以像写Lambda表达式一样去写过滤...
  • nodeJs中linq.js学习

    2016-06-23 15:06:00
    一.在nodeJs 中package.json文件中添加linq模块 如: "linq" : "3.0.5" 终端中执行npm install ...sample/tutorial.js 是linq.js的demo 可以参考 二.使用 在javascript中使用linq与lambda 直接对Array和Str...
  • 检索 linq.js

    2016-01-11 15:02:28
    lingq.js 欢迎大家下载
  • 使用linq.js操作后台JSON数据到前台select标签 页面使用Ajax的post传值方式,从后台获取JSON串,放到HTML页面中的隐藏域,然后使用linq.js里面的方法操作选择数据,绑定到select上,实现联动
  • 今天研究了一下linq.js,很实用。 下面是写的几个小例子: 下载源码 < html > <head > <script type = "text/javascript"src = "linq.min.js" > </script> <script> var ...
  • Linq.js作为js的一大框架还是蛮强大的。因为要从json对象中提取出自己需要的数据信息,同事推荐了linq.js。真心不错,就和sql语句一样根据自己条件进行查询数据。不过百度这方面的资料有点少。 导入的js:   ...
  • linq.js_ver 2.2.0.2

    2019-01-23 16:51:15
    { "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...
  • 【玩转工具系列】玩转 linq.js

    千次阅读 2016-11-16 12:03:05
    今天无聊的我在网上找到了...其他的我就不介绍了,这篇文章主要介绍的是 linqjs ,下面我们就看一下实例:首先我们自然是先要下载 linq.js了,下载链接为 :http://linqjs.codeplex.com/&lt;!DOCTYPE html&g...
  • npm 安装linq.js

    2018-09-26 14:54:55
    参考文档: https://www.cnblogs.com/junshijie/p/6761654.html https://www.cnblogs.com/laien/p/5610884.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 609
精华内容 243
关键字:

linq.js