SOURCE

/**
 * @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 命令行工具 X clear

                    
>
console