1、_.chunk(array, [size]):将一个数组根据肯定的长度分割为N个数组。
_.chunk(['a', 'b', 'c', 'd'], 2); // => [['a', 'b'], ['c', 'd']]
2、_.compact(array):过滤数组中布尔值为false的值,如false, null, 0, “”, undefined, and NaN。
_.compact([0, 1, false, 2, '', 3]); // => [1, 2, 3]
3、_.concat(array, [values]):数组衔接,返回新数组。values里的数组将被降维拉伸。
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other); // => [1, 2, 3, [4]]
4、_.difference(array, [values]):将数组里值不雷同的项找到并构成一个新的数组。
_.difference([2, 1], [2, 3]); // => [1]
相似要领:
_.differenceBy(array, [values], [iteratee=_.identity]):跟difference相似,但能够吸收一个迭代函数。
_.differenceWith(array, [values], [comparator]):跟difference相似,但能够吸收一个比较函数。
5、_.drop(array, [n=1]):删除数组的前N项。
_.drop([1, 2, 3], 2); // => [3]
相似要领:
_.dropRight(array, [n=1]):删除数组的后N项。
_.dropRightWhile(array, [predicate=_.identity]):吸收一个过滤参数,将不及格的数组项删除。
_.dropWhile(array, [predicate=_.identity]):用法同上,一个从尾部最先比较,一个从头部最先比较。
6、_.fill(array, value, [start=0], [end=array.length]):添补数组,将数组的第start项到第end项添补为value。
_.fill([4, 6, 8, 10], '*', 1, 3); // => [4, '*', '*', 10]
7、_.findIndex(array, [predicate=_.identity], [fromIndex=0]):从fromIndex最先查找数组中相符挑选前提的值的下标。
var users = [
{ 'user': 'barney', 'active': false },
{ 'user': 'fred', 'active': false },
{ 'user': 'pebbles', 'active': true }
];
_.findIndex(users, function(o) { return o.user == 'barney'; }); // => 0
相似要领:
_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1]):从尾部最先查找。
8、_.flatten(array):将数组降一个维度举行拉伸。
_.flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]
相似要领:
_.flattenDeep(array):将数组完整拉伸。
_.flattenDepth(array, [depth=1]):将数组降n维举行拉伸。
9、_.fromPairs(pairs):将数组转为key-value的对象。
_.fromPairs([['a', 1], ['b', 2]]); // => { 'a': 1, 'b': 2 }
互补要领:
_.toPairs(object):将对象转为一个key-value的数组。
10、_.head(array):返回数组的第一项。
_.last(array):返回数组的末了一项。
11、_.indexOf(array, value, [fromIndex=0]):查找某个值在数组的下标。
_.**lastIndexOf**(array, value, [fromIndex=array.length-1]):从后往前查找。
12、_.initial(array):猎取数组除末了一项的一切值,相当于删除末了一项。
_.initial([1, 2, 3]); // => [1, 2]
13、_.intersection([arrays]):找出雷同的数组项。将数组里值雷同的项找到并构成一个新的数组。
_.intersection([2, 1], [2, 3]);// => [2]
相似要领:
_.intersectionBy([arrays], [iteratee=_.identity]):略。
_.intersectionWith([arrays], [comparator]):略。
互补要领:
_.difference(array, [values]):见上面第4条。
_.differenceBy(array, [values], [iteratee=_.identity]):见上面第4条。
_.differenceWith(array, [values], [comparator]):见上面第4条。
14、_.join(array, [separator=’,’]):数组拼接成字符串。类原生.join要领。
_.**reverse**(array):翻转数组,相似原生。
_.**slice**(array, [start=0], [end=array.length]):数组从start项到end项切割成一个新数组。相似原生。
15、_.nth(array, [n=0]):掏出数组的第n项。相似原生array[n]。
16、_.pull(array, [values]):从一个数组中删除某些value。
var array = ['a', 'b', 'c', 'a', 'b', 'c'];
_.pull(array, 'a', 'c');
console.log(array); // => ['b', 'b']
相似要领:
_.pullAll(array, values):参数能够吸收一个数组。
_.pullAllBy(array, values, [iteratee=_.identity]):参数能够吸收过滤函数。
_.pullAllWith(array, values, [comparator]):略。
_.pullAt(array, [indexes]):删除数组的下标对应的值。
17、_.remove(array, [predicate=_.identity]):删除数组中相符前提的项。