$.grep()函数——javascript中类似Lambda表达式的实现形式
来源:互联网 发布:ios完整项目源码 编辑:程序博客网 时间:2024/06/03 18:15
我们平时在用C#写代码的时候,Lambda表达式能给我们很畅快的感觉,如下:
foreach (var item in flow.WF_NodeModelList){ if (item.NodeType == 0) //结束节点 { if (flow.WF_NodeModel_LinkList.Where(x => x.NodeModelID2 == item.NodeModelID).ToList().Count < 1) return false; } else if (item.NodeType == 1) //开始节点 { if (flow.WF_NodeModel_LinkList.Where(x => x.NodeModelID1 == item.NodeModelID).ToList().Count < 1) return false; } else if (item.NodeType == 2) //普通节点 { if (flow.WF_NodeModel_LinkList.Where(x => x.NodeModelID1 == item.NodeModelID).ToList().Count < 1 || flow.WF_NodeModel_LinkList.Where(x => x.NodeModelID2 == item.NodeModelID).ToList().Count < 1) return false; }}而在写javascript代码的时候,其实JQuery给我们提供的$.grep()函数来达到类似的效果,如下:
for (var i = 0; i < flow.WF_NodeModelList.length; i++) { var n = flow.WF_NodeModelList[i]; if (n.NodeModelName === "startNode") { //开始节点 if (($.grep(flow.WF_NodeModel_LinkList, function (m, j) { return m.NodeModel1Name === n.NodeModelName; })).length < 1) return false; } else if (n.NodeModelName === "endNode") { //结束节点 if (($.grep(flow.WF_NodeModel_LinkList, function (m, j) { return m.NodeModel2Name === n.NodeModelName; })).length < 1) return false; } else if (n.NodeModelName != null) { //普通节点 if (($.grep(flow.WF_NodeModel_LinkList, function (m, j) { return m.NodeModel1Name === n.NodeModelName; })).length < 1 || ($.grep(flow.WF_NodeModel_LinkList, function (m, j) { return m.NodeModel2Name === n.NodeModelName; })).length < 1) return false; }}总体来讲,当然还是C#的代码更清爽一些,但是下面的js代码在$.grep()函数的帮助下也着实精炼不少。
0 0
- $.grep()函数——javascript中类似Lambda表达式的实现形式
- lambda表达式的形式
- 每天进步一点点——C++11中使用lambda表达式实现一个简单的ScopeGuard
- 函数式编程—初识Lambda表达式
- lambda表达式的实质——什么是lambda表达式,为什么要使用lambda表达式
- JavaScript 箭头函数(Lambda表达式)
- 在条件表达式中null.equals(str)和str.equals(null)类似形式的区别
- python中reduce函数和lambda表达式的学习
- C++中lambda表达式(匿名函数)的用法
- java中-> ——lambda表达式
- linux下利用pipe函数实现类似 “cat a.txt | grep a”的管道命令
- lambda表达式的底层实现
- lambda表达式的简单实现
- C语言中—— 编写一个函数,实现整数的二进制的形式
- Javascript Lambda的简单实现
- javascript中在定义函数的几种形式
- javascript函数的表示形式
- python函数的lambda函数表达式
- log4j
- 查看页面,强制以高级浏览器打开
- 【Android】开源 闲暇(Leisure) 阅读类应用的开发
- poj 2818 Making Change 枚举
- 第二讲:HTML5&Cordova(学习笔记)
- $.grep()函数——javascript中类似Lambda表达式的实现形式
- too many open files
- 使用HTML5来实现本地文件读取和写入
- Java学习笔记-修饰符可修饰的属性方法
- Swift语法之 ---- ?和!区别
- 线程与进程的区别和联系
- 事件分发器
- linux命令-zip
- linux服务器常用操作和命令