import { slidingWindows } from "https://dotland.deno.dev/std@0.131.0/collections/mod.ts";
Generates sliding views of the given array of the given size and returns a new array containing all of them.
If step is set, each window will start that many elements after the last window's start. (Default: 1)
If partial is set, windows will be generated for the last elements of the collection, resulting in some undefined values if size is greater than 1. (Default: false)
Example:
import { slidingWindows } from "https://deno.land/std@0.131.0/collections/mod.ts";
import { assertEquals } from "https://deno.land/std@0.131.0/testing/asserts.ts";
const numbers = [1, 2, 3, 4, 5];
const windows = slidingWindows(numbers, 3);
assertEquals(windows, [
[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
]);
const windowsWithStep = slidingWindows(numbers, 3, { step: 2 });
assertEquals(windowsWithStep, [
[1, 2, 3],
[3, 4, 5],
]);
const windowsWithPartial = slidingWindows(numbers, 3, { partial: true });
assertEquals(windowsWithPartial, [
[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5],
[5],
]);
Parameters
array: readonly T[]