Files
30-seconds-of-code/snippets/aperture.md
Isabelle Viktoria Maciohsek 27c168ce55 Bake date into snippets
2021-06-13 13:55:00 +03:00

704 B

title, tags, firstSeen, lastUpdated
title tags firstSeen lastUpdated
aperture array,intermediate 2020-05-13T13:25:33+03:00 2020-10-18T20:24:28+03:00

Creates an array of n-tuples of consecutive elements.

  • Use Array.prototype.slice() and Array.prototype.map() to create an array of appropriate length.
  • Populate the array with n-tuples of consecutive elements from arr.
  • If n is greater than the length of arr, return an empty array.
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]); // []