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

http://linqjs.codeplex.com/

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.先挖个坑,后面来补齐。)

相关文章: