Iter8or

new Iter8or(iterable, optionsopt)

Создает экземпляр Iter8or.
Parameters:
NameTypeAttributesDefaultDescription
iterableIterable | AsyncIterable | number | ObjectИтерабельный объект, который будет использоваться в качестве исходного набора данных.
optionsObject<optional>
{}Объект с дополнительными опциями.
Properties
NameTypeAttributesDefaultDescription
digitsboolean<optional>
falseЕсли true, создается итератор по цифрам числа.
asyncboolean<optional>
falseЕсли true, создается асинхронный итератор.
Throws:
Если `iterable` — это null, undefined, boolean или function.
Type
TypeError

Methods

avg(fnopt) → {number}

Вычисляет среднее значение элементов итератора.
Parameters:
NameTypeAttributesDescription
fnfunction<optional>
Дополнительная функция маппинга перед вычислением среднего.
Returns:
Среднее значение.
Type: 
number
Example
const iter = new Iter8or([1, 2, 3]);
const average = iter.avg();
console.log(average); // 2

concat(…iterators) → {Iter8or}

Конкатенирует текущий итератор с другими экземплярами Iter8or.
Parameters:
NameTypeAttributesDescription
iteratorsIter8or<repeatable>
Итераторы для конкатенации.
Throws:
Если любой из предоставленных итераторов не является экземпляром Iter8or.
Type
Error
Returns:
Новый экземпляр с конкатенированным итератором.
Type: 
Iter8or
Example
const iter1 = new Iter8or([1, 2]);
const iter2 = new Iter8or([3, 4]);
const concatenated = iter1.concat(iter2);
console.log([...concatenated]); // [1, 2, 3, 4]

drop(n) → {Iter8or}

Пропускает первые `n` элементов из итератора.
Parameters:
NameTypeDescription
nnumberКоличество элементов для пропуска.
Returns:
Новый экземпляр с итератором, пропустившим `n` элементов.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3, 4]);
const dropped = iter.drop(2);
console.log([...dropped]); // [3, 4]

filter(predicate) → {Iter8or}

Фильтрует элементы итератора, используя предоставленную функцию предикат.
Parameters:
NameTypeDescription
predicatefunctionФункция фильтрации.
Returns:
Новый экземпляр с отфильтрованными элементами итератора.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3, 4]);
const filtered = iter.filter(x => x % 2 === 0);
console.log([...filtered]); // [2, 4]

flat(depth) → {Iter8or}

Разворачивает элементы итератора до указанной глубины.
Parameters:
NameTypeDescription
depthnumberГлубина развёртки итератора.
Returns:
Новый экземпляр с развёрнутым итератором.
Type: 
Iter8or
Example
const iter = new Iter8or([1, [2, [3, 4]]]);
const flattened = iter.flat(2);
console.log([...flattened]); // [1, 2, 3, 4]

flatMap(fn) → {Iter8or}

Применяет функцию ко всем элементам итератора и разворачивает результаты в один уровень.
Parameters:
NameTypeDescription
fnfunctionФункция для применения и разворачивания итератора.
Returns:
Новый экземпляр с развёрнутым итератором.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3]);
const flatMapped = iter.flatMap(x => [x, x * 2]);
console.log([...flatMapped]); // [1, 2, 2, 4, 3, 6]

map(fn) → {Iter8or}

Применяет функцию ко всем элементам итератора и возвращает новый экземпляр Iter8or.
Parameters:
NameTypeDescription
fnfunctionФункция, применяемая к каждому элементу итератора.
Returns:
Новый экземпляр Iter8or с мапированными значениями.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3]);
const mapped = iter.map(x => x * 2);
console.log([...mapped]); // [2, 4, 6]

max(fnopt) → {number}

Находит максимальное значение в итераторе.
Parameters:
NameTypeAttributesDescription
fnfunction<optional>
Дополнительная функция маппинга перед поиском максимального значения.
Returns:
Максимальное значение.
Type: 
number
Example
const iter = new Iter8or([1, 2, 3]);
const maximum = iter.max();
console.log(maximum); // 3

min(fnopt) → {number}

Находит минимальное значение в итераторе.
Parameters:
NameTypeAttributesDescription
fnfunction<optional>
Дополнительная функция маппинга перед поиском минимального значения.
Returns:
Минимальное значение.
Type: 
number
Example
const iter = new Iter8or([1, 2, 3]);
const minimum = iter.min();
console.log(minimum); // 1

partition(predicate) → {Array}

Разделяет элементы итератора на две группы на основе предикатной функции.
Parameters:
NameTypeDescription
predicatefunctionФункция, которая возвращает true или false для каждого элемента.
Returns:
Массив из двух массивов: [массив элементов, для которых предикат вернул true, массив элементов, для которых предикат вернул false].
Type: 
Array
Example
const iter = new Iter8or([1, 2, 3, 4, 5]);
const [evens, odds] = iter.partition(x => x % 2 === 0);
console.log(evens); // [2, 4]
console.log(odds);  // [1, 3, 5]

reduce(reducer, initialValueopt) → {*}

Сворачивает элементы итератора, используя предоставленную функцию редукции.
Parameters:
NameTypeAttributesDescription
reducerfunctionФункция редукции.
initialValue*<optional>
Начальное значение для редукции.
Returns:
Свёрнутое значение.
Type: 
*
Example
const iter = new Iter8or([1, 2, 3]);
const sum = iter.reduce((acc, x) => acc + x, 0);
console.log(sum); // 6

reverse() → {Iter8or}

Переворачивает порядок элементов в итераторе.
Returns:
Новый экземпляр с перевёрнутым итератором.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3]);
const reversed = iter.reverse();
console.log([...reversed]); // [3, 2, 1]

sum(fnopt) → {number}

Суммирует элементы итератора.
Parameters:
NameTypeAttributesDescription
fnfunction<optional>
Дополнительная функция маппинга перед суммированием.
Returns:
Сумма элементов.
Type: 
number
Example
const iter = new Iter8or([1, 2, 3]);
const totalSum = iter.sum();
console.log(totalSum); // 6

take(n) → {Iter8or}

Берёт первые `n` элементов из итератора.
Parameters:
NameTypeDescription
nnumberКоличество элементов для взятия.
Returns:
Новый экземпляр с итератором, взявшим `n` элементов.
Type: 
Iter8or
Example
const iter = new Iter8or([1, 2, 3, 4]);
const taken = iter.take(2);
console.log([...taken]); // [1, 2]

toArray() → {Array}

Собирает элементы итератора в массив.
Returns:
Массив, содержащий все элементы итератора.
Type: 
Array
Example
const iter = new Iter8or(new Set([1, 2, 3]));
const array = iter.toArray();
console.log(array); // [1, 2, 3]

toMap() → {Map}

Собирает элементы итератора в Map. Элементы должны быть парами [ключ, значение].
Returns:
Map, содержащий все пары [ключ, значение] из итератора.
Type: 
Map
Example
const iter = new Iter8or([['a', 1], ['b', 2], ['c', 3]]);
const map = iter.toMap();
console.log(map); // Map { 'a' => 1, 'b' => 2, 'c' => 3 }

toObject() → {Object}

Собирает элементы итератора в объект. Элементы должны быть парами [ключ, значение].
Returns:
Объект, содержащий все пары [ключ, значение] из итератора.
Type: 
Object
Example
const iter = new Iter8or([['a', 1], ['b', 2], ['c', 3]]);
const obj = iter.toObject();
console.log(obj); // { a: 1, b: 2, c: 3 }

toSet() → {Set}

Собирает элементы итератора в Set.
Returns:
Set, содержащий все уникальные элементы итератора.
Type: 
Set
Example
const iter = new Iter8or([1, 2, 2, 3, 4]);
const set = iter.toSet();
console.log(set); // Set { 1, 2, 3, 4 }

toString() → {string}

Конкатенирует элементы итератора в строку.
Returns:
Строка, содержащая все элементы итератора, конкатенированные вместе.
Type: 
string
Example
const iter = new Iter8or(['H', 'e', 'l', 'l', 'o']);
const str = iter.toString();
console.log(str); // 'Hello'

(static) next() → {IteratorResult}

Возвращает следующее значение итератора
Returns:
Следующее значение итератора
Type: 
IteratorResult
Example
const iter = new Iter8or([1, 2, 3]);
console.log(iter.next().value); // Output: 1