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】

    推荐阅读