/**
* @param input
* @param size
* @returns {Array}
*/
// _.chunk(['a', 'b', 'c', 'd'], 2)
// // => [['a', 'b'], ['c', 'd']]
// _.chunk(['a', 'b', 'c', 'd'], 3)
// // => [['a', 'b', 'c'], ['d']]
// _.chunk(['a', 'b', 'c', 'd'], 5)
// // => [['a', 'b', 'c', 'd']]
// _.chunk(['a', 'b', 'c', 'd'], 0)
// // => []
// 单独实现方法 一行代码
function chunk(array, num) {
return num > 0
? Array.from(new Array(Math.ceil(array.length / num))).map(() =>
array.splice(0, num)
)
: [];
}
chunk([1, 2, 3, 4, 5], 2);
// 符合题的示例解法
class LodashFn {
constructor() {}
chunk(array, num) {
return num > 0
? Array.from(new Array(Math.ceil(array.length / num))).map(() =>
array.splice(0, num)
)
: [];
}
}
const _ = new LodashFn();
_.chunk(["a", "b", "c", "d"], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(["a", "b", "c", "d"], 3);
// => [['a', 'b', 'c'], ['d']]
_.chunk(["a", "b", "c", "d"], 5);
// => [['a', 'b', 'c', 'd']]
_.chunk(["a", "b", "c", "d"], 0);
// => []
console