lodash学习笔记之Array

目录

数组截取

连接数组

填充数组

数组过滤

根据断言过滤数组

过滤给定值

过滤n个元素

过滤重复元素

对称消除重复值

获取数组元素

数组交集

数组并集

数组扁平化

数组转字符串

数组排序

元素在数组中的位置

新元素(要插入的元素)在数组中的位置

数组分组

数组与对象转换


数组截取


_.slice(array, [start=0], [end=array.length]):裁剪数组array,从 start 位置开始到end结束,但不包括 end 本身的位置


连接数组


_.concat(array, [values]):创建一个新数组,将array与任何数组或值连接在一起(注:不会去除重复元素)

填充数组


_.fill(array, value, [start=0], [end=array.length]):使用 value 值来填充(替换) array,从start位置开始, 到end位置结束(但不包含end位置)(注:这个方法会改变array,不会创建新数组)

数组过滤

根据断言过滤数组


_.remove(array, [predicate=_.identity]): 过滤断言为真的元素, 这个方法会改变数组 array

过滤给定值

_.without(array, [values]):创建一个剔除所有给定值的新数组

不会改变原数组array  =》:
_.difference(array, [values]):创建一个新数组,这个数组中的值为第一个数字(array 参数)排除了给定数组中的值

_.differenceBy(array, [values], [iteratee=_.identity]):接受一个 iteratee(迭代器)

_.differenceWith(array, [values], [comparator]):接受一个comparator(比较器)


会改变原数组array  =》:

_.pull(array, [values]):移除数组array中所有和给定值相等的元素(注:[values]为元素)

_.pullAll(array, values):方法类似_.pull,区别是这个方法接收一个要移除值的数组(注:values为数组)

_.pullAllBy(array, values, [iteratee=_.identity]):方法类似于_.pullAll ,区别是这个方法接受一个 iteratee(迭代函数)

_.pullAllWith(array, values, [comparator]):接受 comparator 调用array中的元素和values比较

_.pullAt(array, [indexes]):根据索引 indexes,移除array中对应的元素


过滤n个元素

_.drop(array, [n=1]):去除array前面的n个元素

_.dropRight(array, [n=1]):去除array尾部的n个元素

_.dropWhile(array, [predicate=_.identity])

_.dropRightWhile(array, [predicate=_.identity])

过滤重复元素

_.uniq(array):创建一个去重后的array数组副本

_.uniqBy(array, [iteratee=_.identity]):接受一个 iteratee(迭代器)

_.uniqWith(array, [comparator]):接受一个 comparator 调用比较arrays中的元素

_.sortedUniq(array):这个方法类似 _.uniq,除了它会优化排序数组

_.sortedUniqBy(array, [iteratee]):这个方法类似 _.uniqBy,除了它会优化排序数组

对称消除重复值

_.xor([arrays]):对称消除重复值后返回一个新的数组(参数每两个进行消除)

_.xorBy([arrays], [iteratee=_.identity]):接收迭代器,生成用于比较的新值

_.xorWith([arrays],[comparator]):接受一个comparator,以调用比较数组的元素


过滤最后一个元素:_.initial(array)

过滤第一个元素:_.tail(array)

过滤假值(false, null, 0, "", undefined, and NaN):_.compact(array)


获取数组元素

_.head(array):获取数组 array 的第一个元素

_.last(array):获取array中的最后一个元素

_.nth(array, [n=0]):获取数组的第n个元素

_.take(array, [n=1]):从array数组的起始元素开始提取n个元素

_.takeWhile(array, [predicate=_.identity]):从array数组的起始元素开始提取元素,直到 predicate 返回假值

_.takeRight(array, [n=1]):从array数组的最后一个元素开始提取n个元素

_.takeRightWhile(array, [predicate=_.identity]):从array数组的最后一个元素开始提取元素,直到 predicate 返回假值


数组交集

_.intersection([arrays]):创建唯一值的数组,这个数组包含所有给定数组都包含的元素

_.intersectionBy([arrays], [iteratee=_.identity]):接受一个 iteratee(迭代器)

_.intersectionWith:接受一个 comparator 调用比较arrays中的元素

 

数组并集

_.union([arrays]):arrays(数组)的并集,按顺序返回,返回数组的元素是唯一的

_.unionBy([arrays], [iteratee=_.identity]):接受一个 iteratee(迭代器)

_.unionWith([arrays], [comparator]):接受一个 comparator 调用比较arrays中的元素


数组扁平化

_.flatten(array):减少一级array嵌套深度

_.flattenDeep(array):将array递归为一维数组

_.flattenDepth(array, [depth=1]):根据 depth 递归减少 array 的嵌套层级


数组转字符串

_.join(array,[separator=',']):将数组所有元素转换由separator分隔的字符串


数组排序

_.reverse(array):数组倒置,这个方法会改变原数组array

_.sortedUniq(array):去重后排序

_.sortedUniqBy(array, [iteratee]):这个方法类似 _.uniqBy,除了它会优化排序数组。


元素在数组中的位置

_.indexOf(array, value, [fromIndex=0]):返回首次 value 在数组array中被找到的 索引值, 如果 fromIndex 为负值,将从数组array尾端索引进行匹配

_.lastIndexOf(array, value, [fromIndex=array.length-1]):这个方法类似 _.indexOf ,区别是它是从右到左遍历array的元素

_.sortedIndexOf(array, value):这个方法类似 _.indexOf,除了它是在已经排序的数组array上执行二进制检索

_.sortedLastIndexOf(array, value):这个方法类似 _.lastIndexOf,除了它是在已经排序的数组array上执行二进制检索

_.findIndex(array, [predicate=_.identity]):返回第一个通过 predicate 判断为真值的元素的索引值(index)

_.findLastIndex(array, [predicate=_.identity]):这个方式类似 _.findIndex, 区别是它是从右到左的迭代集合array中的元素


新元素(要插入的元素)在数组中的位置

_.sortedIndex(array, value):value值应该插入到排序数组中的位置

_.sortedIndexBy(array, value, [iteratee=_.identity]):接受一个 iteratee (迭代函数)

_.sortedLastIndex(array, value):返回 value值 在 array 中尽可能大的索引位置(index)

_.sortedLastIndexBy(array, value, [iteratee=_.identity])

数组分组

_.chunk(array, [size=1]):将array拆分成size长度的区块,并将这些区块组成一个新数组(返回一个二维数组)

_.zip([arrays]):创建一个新数组,数组第n个元素包含所有给定数组的第n个元素

_.zipWith([arrays],[iteratee=_.identity]):接收迭代函数,指定分组的值应该如何被组合

_.unzip([arrays]):zip的逆运算,还原zip后的数组

_.unzipWith(array, [iteratee=_.identity]):接受一个iteratee指定重组值应该如何被组合


数组与对象转换

_.fromPairs(pairs):返回一个由键值对pairs构成的对象

_.toPairs:对象转数组

_.zipObject([props=[]],[values=[]]):参数为两个数组,第一个数组中的值作为属性标识符,第二个数组中的值作为属性值

_.zipObjectDeep:数组转对象(支持属性路径)


 

你可能感兴趣的:(lodash学习笔记之Array)