上次ctve就考到我实现lodash的get方法
想着有空就做一下其他的吧。
1.土包子的chunk
Array.prototype.chunk = function(count){
let result = [];
//遍历输出成员
this.forEach((item,index) => {
//
let temp = Math.floor(index / count);
//检验数组是否初始化
if(!(result[temp] instanceof Array)){
result[temp] = new Array;
}
result[temp].push(item);
})
return result;
}
lodash
function chunk(array, size) {
size = Math.max(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
}