陪你读一遍lodash(二)

13、_.fromPairs(pairs)

  和对象方法_.toPairs作用正好相反,这个方法返回一个数组转成的对象。

  pairs:传入的数组,这里需要注意,传入的数组只能是类对象格式的数组,也就是说传入的数组的子元素必须是数组,而这个方法只会解析子数组的前两个元素,第一个元素构成生成对象的key值,第二个元素构成value值。

 * _.fromPairs([['fred', 30], ['barney', 40]]);
 * // => { 'fred': 30, 'barney': 40 }

14、_.head(array)

  返回数组第一个元素。
  
  array:传入的数组。
  
 * _.head([1, 2, 3]);
 * // => 1
 *
 * _.head([]);
 * // => undefined

15、_.indexOf(array, value, [fromIndex=0])

  从传入的第三个参数开始对数组从前往后进行遍历,搜索到和传入value相等元素,返回该元素在数组中的索引。如果第三个元素是负数,则从数组末尾开始进行遍历。r如果未查到则返回-1。

array:传入的数组。
value:需要检索的元素。
fromIndex:检索索引的起点,默认为0;

 * _.indexOf([1, 2, 1, 2], 2);
 * // => 1
 *
 * // Search from the `fromIndex`.
 * _.indexOf([1, 2, 1, 2], 2, 2);
 * // => 3

16、_.initial(array)

  获取除了数组中的所有元素,除了最后一个元素。

  array:传入的数组。

 * _.initial([1, 2, 3]);
 * // => [1, 2]

17、_.intersection([arrays])

  创建一个新数组,将传入一个或多个数组中都有重叠的元素放入到数组中。

  arrays:传入的数组。

   * _.intersection([2, 1], [4, 2], [1, 2]);
   * // => [2]

18、_.join(array, [separator=','])

   类似数组的join方法,将数组用第二个参数相连并转为字符串。

  array:传入的数组。

  [separator=',']:分割符。
 * _.join(['a', 'b', 'c'], '~');
 * // => 'a~b~c'

19、_.last(array)

  获取数组最后一个元素。

  array:传入的数组。

 * _.last([1, 2, 3]);
 * // => 3

20、_.lastIndexOf(array, value, [fromIndex=array.length-1])

  从传入的第三个参数开始对数组进行从后往前进行遍历,搜索到和传入value相等元          素,返回该元素在数组中的索引。如果第三个元素是负数,则从数组末尾开始进行遍历。如果未查到则返回-1。

array:传入的数组。
value:需要检索的元素。
fromIndex:检索索引的起点,默认为array.length-1;

 * _.lastIndexOf([1, 2, 1, 2], 2);
 * // => 3
 *
 * // Search from the `fromIndex`.
 * _.lastIndexOf([1, 2, 1, 2], 2, 2);
 * // => 1

21、_.nth(array, [n=0])

  获取数组在n索引的元素,如果n为负数,则返回数组最后一个元素。

  array:传入的数组。
  n:查找的索引。

var array = ['a', 'b', 'c', 'd'];
_.nth(array, 1);
// => 'b'
_.nth(array, -2);
// => 'c';

22、_.pull(array, [values])

  根据传入的values,去掉数组的元素。
  
  array:传入的数组。
  [values]:需要去掉的元素。

  var array = ['a', 'b', 'c', 'a', 'b', 'c'];
  _.pull(array, 'a', 'c');
  console.log(array);
  // => ['b', 'b']

23、_.pullAll(array, values)

  方法类似_.pull,唯一的不同就是允许第二个参数传入数组,进行删除。
  
  array:传入的数组。
  values:需要去掉的元素或者数组。

 * var array = [1, 2, 3, 1, 2, 3];
 *
 * _.pullAll(array, [2, 3]);
 * console.log(array);
 * // => [1, 1]

24、.pullAt(array, [indexes])
方法类似
.pull,只不过第二参数传入的是对第一个数组元素删除的索引。

  array:传入的数组。
  [indexed]:删除元素的索引值。

 * var array = [5, 10, 15, 20];
 * var evens = _.pullAt(array, 1, 3);
 *
 * console.log(array);
 * // => [5, 15]
 *
 * console.log(evens);
 * // => [10, 20]

25、_.reverse(array)
反转数组。

array:传入的数组。

 * var array = [1, 2, 3];
 *
 * _.reverse(array);
 * // => [3, 2, 1]
 *
 * console.log(array);
 * // => [3, 2, 1]

26、_.slice(array, [start=0], [end=array.length])

  数组截取方法, 类似数组的slice方法。
  
  array:传入的数组。
  [start=0]:截取数组的开始索引。
  [end=array.length]:截取数组的结束索引+1。

 * var array = [1, 2, 3];
 *
 * _.slice(array,1,2);
 * // => [2]
 *

你可能感兴趣的:(陪你读一遍lodash(二))