更优雅的处理数据-linqjs

题记--由于前端需要处理数据筛选、排序等操作,之前在C#后端都是各种Linq方便,遂寻找类似的实现

然后在园子找到了js的linq实现,封装了我们常用的各类数据操作。链接 http://linqjs.codeplex.com/

同时支持jquery和js实现,实现了诸如,查询,排序,选择等操作,支持列表详见 http://neue.cc/reference.htm

下面是简单实例:

function demo() {
var jsonArray = [
{ "StuID": 1, "StuName": "James", "Age": 30, "Country": "USA" },
{ "StuID": 2, "StuName": "Byant", "Age": 36, "Country": "USA" },
{ "StuID": 3, "StuName": "Lin", "Age": 30, "Country": "Taiwan" },
{ "StuID": 4, "StuName": "Yao", "Age": 30, "Country": "Shanghai" }
];

        var querResult = $.Enumerable.From(jsonArray)
            .Where(function (x) { return x.Age <= 30; })
            .OrderBy(function (x) { return x.StuID; })
            .ToArray()
            .forEach(function (i) {
                document.write(i.StuID + ";" + i.StuName + ";" + i.Age + ";" + i.Country + "<br/>");
            });

        document.write("====================================" + "<br/>");

         
        var queryResult2 = $.Enumerable.From(jsonArray)
            .Where("$.Age<=30") 
            .OrderBy("$.StuID")
            .ToArray()
            .forEach(function (i) {
                document.write(i.StuID + ";" + i.StuName + ";" + i.Age + ";" + i.Country + "<br/>");
            });
    }

个人感觉,作为学习,应该学习linqjs的设计思想,了解后应该自己原生实现试试(ps.先挖个坑,后面来补齐。)

posted @ 2018-01-29 23:09  LandWind  阅读(580)  评论(0编辑  收藏  举报