lodash简介
-
Array:适用于数组类型,比如填充数据、查找元素、数组分片等操作
-
Collection:适用于数组和对象类型,部分适用于字符串,比如分组、查找、过滤等操作
-
Function:适用于函数类型,比如节流、延迟、缓存、设置钩子等操作
-
Lang:普遍适用于各种类型,常用于执行类型判断和类型转换
-
Math:适用于数值类型,常用于执行数学运算
-
Number:适用于生成随机数,比较数值与数值区间的关系
-
Object:适用于对象类型,常用于对象的创建、扩展、类型转换、检索、集合等操作
-
Seq:常用于创建链式调用,提高执行性能(惰性计算)
-
String:适用于字符串类型
安装依赖
npm i --save lodash
按需引入
//方法一
import _get from 'lodash/get'
import _map from 'lodash/map'
//方法二
import {get, map} from 'lodash'
1. _.chunk(array, [size=1])
含义:
将数组(array)拆分成多个 size
长度的区块,并将这些区块组成一个新数组。 如果array
无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
参数:
array
(Array): 需要处理的数组[size=1]
(number): 每个数组区块的长度
例:
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
源码:
function chunk(array, size = 1) {
size = Math.max(toInteger(size), 0)
const length = array == null ? 0 : array.length
if (!length || size < 1) {
return []
}
let index = 0
let resIndex = 0
const result = new Array(Math.ceil(length / size))
while (index < length) {
result[resIndex++] = slice(array, index, (index += size))
}
return result
}