连续元素子数组

创建一个由连续元素的 n 元组组成的数组。

  • 使用 Array.prototype.slice()Array.prototype.map() 创建一个适当长度的数组。
  • arr 中填充数组中的 n 元组连续元素。
  • 如果 n 大于 arr 的长度,则返回一个空数组。
const aperture = (n, arr) =>
  n > arr.length
    ? []
    : arr.slice(n - 1).map((v, i) => arr.slice(i, i + n));

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