首页 > 解决方案 > 我如何解决javascript中的光圈函数?

问题描述

我想解决一个称为光圈的函数,它接受一个数字和一个数组,该数组应该返回一个新数组,该数组应该由具有连续元素的数字大小的子数组组成,例如光圈:

(3, [1, 2, 3, 4, 5]); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

标签: javascript

解决方案


创建一个长度等于给定数字的空数组并reduce()在其上使用。

const aperture = (num,arr) => [...Array(num)].reduce((ac,_,i) => {
  ac.push(arr.slice(i,num+i));
  return ac;
},[])

console.log(aperture(3,[1,2,3,4,5]))


推荐阅读