Lo-Dash——实用的js工具库

         大家可以在   www.codefordream.com   练习。

 

         在JS中,尤其对于菜鸟而言,代码都是重复兀杂的,Lo-Dash 等第三方javascript库可以改进我们的编码过程和编码质量。

        下面是我们用的比较多的方法

 

_.map和_.find方法来精简代码:

 

下面是一个for循环复杂嵌套的例子:(其实完成的功能很简单)

 

var items = loadAllItems();
for(var i = 0; i < inputs.length;i ++)
{
     for(var j = 0; j < item.length; j ++)
     {
           if(new_inputs.length === 0 && inputs[i].substring(0,10) == item[j].barcode)
           {
                new_inputs.push(item[j]);
           }
      }
}//通过遍历inputs和item来将相同的barcode添加到新建的数组new_inputs中
 
用_.map  和 _.find   精简后代码如下:
 
var new_inputs = _.map(inputs,function(input)
{//作用相当于遍历inputs
      return _.find(items,function(item_tmp)
      {//作用相当于遍历item,但find不一定会遍历完整个数组,它会找到第一个符合条件的barcode后停止
           return new_inputs.length === 0 && input.substring(0,10) == item_tmp.barcode;
      });
});

 

 

还有找出数组中不同的项

用传统方法写出:

 

var a = [1,3,4,5];
var b = [3,4,8];
for(var i = 0; i < a.length; i ++)
{
    for(var j = 0; j < b.length; j ++)
    {
        if(a[i] != b[j])
        {
              console(a[i] + b[j]);
        }
    }
}

 

  用_.difference方法代码非常简练

 

var array = _.difference([1, 3, 4, 5], [3, 4, 8]);
console.log(array);

 

 

还有_.filter方法,和find方法类似,区别是它会遍历玩整个数组后找到符合条件的元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值