generator小妙招:拆分数组

看到一个需求,将一个数组按照8个8个拆分,心想用generator也可以做,最后的版本感觉还是挺优雅的:

function* gen(arr) {
  const copyArr = [...arr];
  if(copyArr.length > 8) {
    yield copyArr.splice(0, 8);
    yield* gen(copyArr);
  } else {
    yield copyArr;
  }
}

const arr = [
  1, 2, 3, 4, 5, 6, 7, 8,
  9, 10, 11, 12, 13, 14, 15, 16,
  666, 777
];

const g = gen(arr);
console.log([...g]);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。