lodash

Posted 吃草的虾米

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lodash相关的知识,希望对你有一定的参考价值。

“Array” Methods

_.chunk(3.0.0)

_.chunk(array,[size=1]):将一个数组分成相同长度的几个数组,不够均匀分配的单独成为一个数组。

参数:

 array(Array):要进行拆分的数组

 [size=1](number):指定每块的长度

返回:

 (Array):返回新的数组

例子:

_.chunk([‘a’,’b’,’c’,’d’],2) //[[‘a’,’b’],[‘c’,’d’]]

_.chunk([‘a’,’b’,’c’,’d’],3) //[[‘a’,’b’,’c’],[‘d’]]

 

_.compact(0.1.0)

 

_.compact(array):过滤调数组中的false,null,0,””,nudefined,NaN值。

参数:

array(Array):要compact的数组

返回:

(Array):返回一个过滤后的数组。

例子:

_.compact([0,1,false,2,’’,3])  //[1,2,3]

 

_.concat(4.0.0)

 

_.concat(array,[values]):将一个数组和另一个数组或value连接起来

参数:

array(Array):要连接的数组

[values](….*):要连接的数组或value

返回:

(Array):返回一个连接后的新的数组

例子:

var array = [1];

var other=_.concat(array,2,[3],[[4]]); //[1,2,3,[4]]

 

_.difference(0.1.0)

 

-_.difference(array,[values]):两个数组进行比较,排除相同值。结果值得顺序和引用由第一个数组决定。

参数:

 array(Array):要检查的数组

 [values](…Array):要排除的值

返回:

 (Array):返回一个过滤后的新数组

例子:

 _.difference([2,1],[2,3]) //[1]

 

 _.differenceBy(4.0.0)(difference:差异,不同)

 

_.differenceBy(array,[values],[iteratee=_.identity]):这个方法跟_.difference差不多,不同的是,它会接收一个iteratee的参数,该参数会被没一个数组和值得元素调用,以生成与它们相比较的标准。结果值得顺序和引用由第一个数组决定。

参数:

 array(Array):要检查的数组。

 [value](...Array):要排除的值。

 [iteratee=_.identity](function):每个元素都调用

返回值:

  (Array):返回过滤后的新数组

例子:

  _.differenceBy([2.1,1.2],[2.3,3.4],Math.floor);//[1.2] 。两个数组经过Math.floor比较之后变成 _.differenceBy([2,1],[2,3],Math.floor)所以最后返回1.2。

_.differenceBy([{‘x‘:2},{‘x‘:1}],[{‘x‘:1}],‘x‘); //[{‘x‘:2}]

 

_.differenceWith(4.0.0)

 

_.differenceWith(array,[values],[comparator]):这个方法跟_.difference差不多。不同的是它接受一个比较器来比较数组和值得元素。结果值得顺序和引用由第一个数组决定。两个参数都会调用这个比较器

参数:

    array(Array):要检查的数组

  [values](...Array):要比较的值

  [comparator](function):每个元素都调用的比较器

返回:

    (Array):过滤后新的数组

例子:

  var objects=[{‘x‘:1,‘y‘:2},{‘x‘:2,‘y‘:1}];

  _.differenceWith(objects,[{‘x‘:1,‘y‘:2}],_.isEqual) //经过isEqual的比较过滤调相同的返回[{‘x‘:2,‘y‘:1}]

 

_.drop(0.5.0)

 

_.drop(array,[n=1]):删除数组中从第一个到第n个元素,n不写时,默认删除第一个

参数:

   array(Array):用来被操作的数组

 [n=1](number): 要删除元素的数量

返回:

  (Array)返回删除后的数组

例子:

  _.drop([1,2,3]) //[2,3]

  _.drop([1,2,3],2) //[3]

  _.drop([1,2,3],5) //[]

  _.drop([1,2,3],0) //[1,2,3]

以上是关于lodash的主要内容,如果未能解决你的问题,请参考以下文章

进阶学习2:函数式编程FP——闭包纯函数Lodash柯里化

js工具库Ramda和lodash和underscore用法对比