javascript - 我如何解决javascript中的光圈函数?
问题描述
我想解决一个称为光圈的函数,它接受一个数字和一个数组,该数组应该返回一个新数组,该数组应该由具有连续元素的数字大小的子数组组成,例如光圈:
(3, [1, 2, 3, 4, 5]); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
解决方案
创建一个长度等于给定数字的空数组并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]))
推荐阅读
- ios - 使用 Tabbar 管理 PushViewController
- google-maps - 单击地图上的 Google 地图标记/指针,如果我有 GeoJSON 数据则不起作用
- dart - 我如何在颤动中增加bottomAppbar的高度
- c# - 当 Startup.cs 在不同的程序集中时,ASP.NET 核心 Web api 返回 404
- python - 如何使用 apache beam python 在管道中附加结果?
- typescript - 如何构建多个完成提供程序
- node.js - 发现模板引擎 (ejs) 问题
- javascript - 为什么我的斐波那契生成器在运行时返回未定义
- makefile - 如何获得关于 Makefile (GNU Make) 中目标的先决条件?
- arduino - 本地的 Arduino DNS