lodash 源码解读 _chunk(array, size)

Posted bbb324

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lodash 源码解读 _chunk(array, size)相关的知识,希望对你有一定的参考价值。

_.chunk(array, index): 拆分一个数组成两个数组,拆分位数由 index 决定,
举例

1 _.chunk([‘a‘, ‘b‘, ‘c‘, ‘d‘], 1);// => [[‘a‘, ‘b‘,‘c‘], [‘d‘]]

 

 1 function chunk(array, size) {
 2 size = Math.max(size, 0) //这里是判定传过来的 size 是否会小于0,属于边界测试
 3 const length = array == null ? 0 : array.length
 4 if (!length || size < 1) {
 5 return []
 6 }
 7 let index = 0
 8 let resIndex = 0
 9 const result = new Array(Math.ceil(length / size)) //向上取整,防止传过来的 size 是个小数
10 
11 while (index < length) {
12 result[resIndex++] = slice(array, index, (index += size)) //通过lodash 自带的切割数组的方式来组成新的数组
13 }
14 return result
15 }

 

以上是关于lodash 源码解读 _chunk(array, size)的主要内容,如果未能解决你的问题,请参考以下文章

lodash 源码解读 _.findIndex(obj_array, fn)

lodash 源码解读 _.drop(arr, num)

lodash

lodash常用方法

lodash文档

lodash源码学习