lodash几个实用例子

1.用find方法去除for循环嵌套if判断语句

看下面一段代码:

for (var n = 0; n < activities.length; n++) {  
       if (activities[n].name == bidList[0].activityName) {  
  
               //(中间代码省略)中间假设是对循环找到的活动的对象中的一个属性进行改动,比如status,将它的值改为0;  
  
}  

 用find替换为: 

 

_.find(activities,function(activity){ return activity.name == bidList[0].activityName}).status = 0;  //这样我们就通过find找到对应的对象并进行改值  

 

find会返回遍历数组找到符合条件的第一个对象元素,不一定会遍历完整个数组,return后面是一个条件语句,.status是改变每次遍历到的对象。

 

与之相似的有filter:

var evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });  
// filter会返回一个新数组,像上面的式子会返回 [2, 4, 6],filter它与find的不同是它会遍历完整个数组,找出数据中所有符合条件的元素,return后是条件语句。  

 

 

 

 2.用map方法去除一些for循环

var a = [1,2,3,4]  
for (var i = 0;i < a.length;i++){  
      a[i] = a[i]+1;  
}  
//可以替换为
_.map(a,function(num){   
     return num = num + 1;  
})  

 但是要注意到的是map返回的也是一个新数组,return后面是一个表达式,遍历到的每个元素的操作。

 

相似的有forEach:

 

 

 

_.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
  console.log(n, key);
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值