$.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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 联想笔记本装win7蓝屏怎么办 联想g40-70开机黑屏怎么办 新主机开不了机怎么办 联想720s笔记本闪屏怎么办 华硕k40ie显卡坏了怎么办 开机黑屏进入bois后怎么办 2根内存条不兼容怎么办 联想笔记本r720系统崩溃怎么办 联想天逸310卡怎么办 新买的鼠标没反应怎么办 联想笔记本触屏鼠标失灵怎么办 无线鼠标接收器丢了怎么办 联想笔记本系统重装失败怎么办 联想笔记本屏幕闪屏怎么办 种植牙螺钉掉了怎么办 水管牙断里面了怎么办 水龙头起泡器不起泡怎么办 14mm乘8mm残留怎么办 宝宝吃了螺丝冒怎么办 收割机滚筒皮带轮键槽滚了怎么办 微信界面变小了怎么办 拉杆箱螺丝掉了怎么办 洗衣机应急门锁没有拉绳怎么办? 奔驰glc发动机声音大怎么办 淋膜机模具螺丝拧不动怎么办 一字螺丝滑丝了怎么办 螺丝拧歪卡住了怎么办 车牌螺丝拧歪了怎么办 空心墙打膨胀螺丝打不上怎么办 沉孔内六角螺丝滑丝怎么办 内六角螺丝滑了怎么办? 三色灯不变光了怎么办 卧室灯不变色了怎么办 圆柱齿轮减速机噪音大怎么办 轴与套间隙生锈怎么办 汽车停小区被刮怎么办 下楼梯摔跤了 屁股疼 怎么办 剧烈咳嗽震的肚子疼怎么办 饺子粘在盘子上怎么办 生饺子粘在盘子怎么办 饺子粘在案板上怎么办