解读
lodash chunk是一个将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组并返回的函数。
如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
使用方式
_.chunk(array, [size=1])
参数
1、array (Array)
: 需要处理的数组
2、[size=1] (number)
: 每个数组区块的长度
测试运行
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
原理
接收的数组,在循环的每一次迭代中,需要获取当前分块的起始索引和终止索引。
起始索引使用循环index来表示 ,终止索引通过计算得到。终止索引的计算方式是起始索引加上每个分块的大小减 1。
然后使用 slice
方法来截取出当前分块的元素。slice
方法的第一个参数是起始索引,第二个参数是终止索引加 1。将截取结果追加到 result 数组中。最后返回result