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 }

 

posted on 2017-05-23 18:19  bbb324  阅读(138)  评论(0编辑  收藏  举报

导航