Функции-коллекторы предназначены для использования с методом collect
, хотя могут использоваться обособленно без контейнеров.
Так же функции-коллекторы могут использоваться с методом switch
. В таком случае метод вернёт экземпляр контейнера, в контексте которого был вызван, а сам возвращенный контейнер будет хранить итератор для значения, возвращенного функцией-коллектором.
Вычисляет среднее значение элементов коллекции и возвращает число.
average(iterable: Iterable<number>): number
Использование:
import { average } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(average); // 5
Возвращает количество элементов в коллекции.
count<T>(iterable: Iterable<T>): number
Использование:
import { count } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(count); // 4
Находит первый элемент коллекции и возвращает его, либо undefined
, если коллекция пустая.
first<T>(iterable: Iterable<T>): T | undefined
Использование:
import { first } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(first); // 1
Объединяет все элементы коллекции строк в одну строку.
join(separator: string): (iterable: Iterable<string>) => string
Использование:
import { join } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(join('_')); // 1_2_3_4
Находит последний элемент коллекции и возвращает его, либо undefined
, если коллекция пустая.
last<T>(iterable: Iterable<T>): T | undefined
Использование:
import { last } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(last); // 4
Находит максимальный элемент коллекции чисел и возвращает его, либо undefined
, если коллекция пустая.
max(iterable: Iterable<number>): number | undefined
Использование:
import { max } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(max); // 4
Находит минимальный элемент коллекции чисел и возвращает его, либо undefined
, если коллекция пустая.
min(iterable: Iterable<number>): number | undefined
Использование:
import { min } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(min); // 1
Вычисляет произведение всех элементов коллекции чисел и возвращает его, либо 0
, если коллекция пустая.
product(iterable: Iterable<number>): number
Использование:
import { product } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(product); // 24
Функция для приведения элементов коллекции к одному значению. Аналог Array.prototype.reduce
.
type TReduceReturnType<T, Return> = (iterable: Iterable<T>) => Return | undefined;
reduce<T>(reducer: (acc: T, value: T, index: number) => T): TReduceReturnType<T, T>;
reduce<T, U>(reducer: (acc: U, value: T, index: number) => U, initial: U): TReduceReturnType<T, U>;
reduce<T, U>(
reducer: (acc: T | U, value: T, index: number) => T | U,
initial?: U
): TReduceReturnType<T, T | U>
Использование:
import { reduce } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(
reduce((acc, num) => `${String(num)}_${acc}`, '')
); // 4_3_2_1
Вычисляет сумму всех элементов коллекции чисел и возвращает его, либо 0
, если коллекция пустая.
sum(iterable: Iterable<number>): number
Использование:
import { sum } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(sum); // 10
Собирает все элементы коллекции в массив и возвращает его.
toArray<T>(iterable: Iterable<T>): Array<T>
Использование:
import { toArray } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(toArray); // [1, 2, 3, 4]
Собирает все элементы коллекции в Set и возвращает его.
toSet<T>(iterable: Iterable<T>): Set<T>
Использование:
import { toSet } from 'iterity';
const collection = from([1, 2, 3, 4]).collect(toSet); // Set(4) {1, 2, 3, 4}