js中引用库来实现简便代码

 

 

在js中常用的一些for循环会增加圈复杂度,同时会使代码的效率变低,执行起来也会相对缓慢,这时我们可以引用一些库 用里面的一些命令来替代for循环来实现我们的代码。

 

一些常用的库有 lodash.js 和underscore.js  这两个库用的越来越普遍。我们来说一下underscore.js这个库

 

 

我们在用for循环遍历数组查找满足条件的值时一般代码如下:

 

var  array=[1,2,3,4,5,6,7,8,9];

for(var i=0,i<array.length,i++){
    if(array[i]%3==0){
       return array[i];
     } 
}
结果为 3 6 9

 

 

上面的代码会一次一次的执行for循环,代码的效率会变低。我们可以用underscore.js来写

 

 

 

var   array=[1,2,3,4,5,6,7,8,9];

_.filter([1, 2, 3, 4, 5, 6], function(num){
            return num % 2 == 0; 
});


输出结果为 [3, 6, 9]

 

完成的功能相同代码简便且效率高。

 

 _uniq 删除数组的重复项

 

_.uniq([1, 2, 1, 3, 1, 4]);

=> [1, 2, 3, 4]

// 返回的数组会删除原数组中的重复项

 

 

 

还有一些其他的功能比如_indexof(array, value),  _keys(object), _values(object)等,可根据自己的需要查询。

 

_indexof(array, value)功能:查询数组是否含有某个元素,如果有返回下标,没有返回-1

 

   
  var array=[1, 2, 3,4, 5, 6,7];

_.indexof(  array, 2);

 存在 返回下标  1

_.indexof(  array, 8);

不存在  返回-1

 

 

_keys(object)的功能是返回对象的键

 

_.keys({one: 1, two: 2, three: 3});

=> ["one", "two", "three"]

 

  _values(object)的功能是返回对象的键值

 

 

_.values({one: 1, two: 2, three: 3});


=> [1, 2, 3]

 

 

 

猜你喜欢

转载自1397548794.iteye.com/blog/2411852