windowed() function
주어진 크기의 슬라이딩 윈도우를 Iterable/AsyncIterable로 반환합니다. 윈도우는 겹치며, 각 윈도우는 이전 윈도우보다 한 요소 뒤에서 시작합니다. 요소 수가 size보다 적으면 아무것도 내보내지 않습니다. 비중첩 분할인 chunk와 달리 연속된 size개 요소의 모든 구간을 내보냅니다.
Signature:
typescript
function windowed<T>(
size: number,
iterable: Iterable<T>,
): IterableIterator<T[]>;
function windowed<T>(
size: number,
iterable: AsyncIterable<T>,
): AsyncIterableIterator<T[]>;Example
ts
const iter = windowed(2, [1, 2, 3, 4]);
iter.next(); // {done: false, value: [1, 2]}
iter.next(); // {done: false, value: [2, 3]}
iter.next(); // {done: false, value: [3, 4]}
iter.next(); // {done: true, value: undefined}
pipe([1, 2, 3, 4, 5], windowed(3), toArray); // [[1, 2, 3], [2, 3, 4], [3, 4, 5]]