本博客 hjy-xh,转载请申明出处
数组操作
chunk
将数组(array)拆分成多个 size
长度的区块,并将这些区块组成一个新数组。 如果array
无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块
入参
array
(Array): 需要处理的数组[size=1]
(number): 每个数组区块的长度
返回值
(Array): 返回一个包含拆分区块的新数组(注:相当于一个二维数组)
1 | const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; |
compact
创建一个新数组,包含原数组中所有的非假值元素。例如false
, null
,0
, ""
, undefined
, 和 NaN
都是被认为是“假值”
入参
array
(Array): 需要处理的数组
返回值
(Array): 返回过滤掉假值的新数组
1 | const arr = ['a', '', 0, false, true, undefined, NaN]; |
difference
创建一个具有唯一array
值的数组,每个值不包含在其他给定的数组中。(注:即创建一个新数组,这个数组中的值,为第一个数字(array
参数)排除了给定数组中的值。)该方法使用SameValueZero
做相等比较。结果值的顺序是由第一个数组中的顺序确定
入参
array
(Array): 要检查的数组[values]
(…Array): 排除的值
返回值
(Array): 返回过滤掉假值的新数组
1 | const arr1 = ['可乐', '雪碧']; |
1 | // 如果想要比较引用类型,可以使用`differenceBy` |
1 | const arr1 = [{ name: '可乐' }, { name: '雪碧' }]; |
flattenDeep
将array
递归为一维数组
入参
array
(Array): 需要处理的数组
返回值
(Array):返回一个的新一维数组
1 | const arr = [0, 1, 2, [3, 4, [5]]]; |
uniq
创建一个去重后的array
数组副本。使用了SameValueZero
做等值比较。只有第一次出现的元素才会被保留
入参
array
(Array): 要检查的数组
返回值
(Array):返回新的去重后的数组
1 | const arr = [1, 2, 1]; |
1 | // 如果想要去重引用类型,可以使用`unionBy` |
groupBy
创建一个对象,key 是 iteratee
遍历 collection
(集合) 中的每个元素返回的结果。 分组值的顺序是由他们出现在 collection
(集合) 中的顺序确定的。每个键对应的值负责生成 key 的元素组成的数组。iteratee 调用 1 个参数: (value)
入参
1.collection
(Array|Object): 一个用来迭代的集合。
2.[iteratee=_.identity]
(Array|Function|Object|string): 这个迭代函数用来转换key
返回值
(Array):返回新的去重后的数组
对象操作
omit
这个对象由忽略属性之外的object
自身和继承的可枚举属性组成
入参
object
(Object): 来源对象。[props]
(…(string|string[])): 要被忽略的属性
返回值
(Object): 返回一个组成聚合的对象
1 | const object = { 'a': 1, 'b': '2', 'c': 3 }; |
omitBy
这个对象忽略 predicate
(断言函数)判断不是真值的属性后,object
自身和继承的可枚举属性组成。predicate
调用与2个参数:*(value, key)*
入参
object
(Object): 来源对象[predicate=_.identity]
(Function): 调用每一个属性的函数
返回值
(Object): 返回新对象
1 | const object = { 'a': 1, 'b': '2', 'c': 3 }; |
pick
创建一个从 object
中选中的属性的对象
入参
object
(Object): 来源对象。[props]
(…(string|string[])): 要被选中的属性
返回值
(Object): 返回新对象
1 | const object = { 'a': 1, 'b': '2', 'c': 3 }; |
pickBy
创建一个对象,这个对象组成为从 object
中经 predicate
判断为真值的属性。 predicate
调用2个参数:*(value, key)*。
入参
object
(Object): 来源对象。[predicate=_.identity]
(Function): 调用每一个属性的函数
返回值
(Object): 返回新对象
1 | const object = { 'a': 1, 'b': '2', 'c': 3 }; |
get
根据 object
对象的path
路径获取值。 如果解析 value 是 undefined
会以 defaultValue
取代
入参
object
(Object): 要检索的对象path
(Array|string): 要获取属性的路径[defaultValue]
(*): 如果解析值是undefined
,这值会被返回
返回值
(*): 返回解析的值
1 | const object = { 'a': [{ 'b': { 'c': 3 } }] }; |