Spec-Zone.ru › JavaScript

TypedArray.prototype.reduce()

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.

Метод reduce() экземпляров TypedArray выполняет предоставленную пользователем функцию обратного вызова "reducer" для каждого элемента типизированного массива, по порядку, передавая возвращаемое значение предыдущего элемента. Окончательным результатом выполнения reducer для всех элементов типизированного массива является одно значение. Этот метод имеет тот же алгоритм, что и Array.prototype.reduce().

Попробуйте

const uint8 = new Uint8Array([0, 1, 2, 3]);

function sum(accumulator, currentValue) {
  return accumulator + currentValue;
}

console.log(uint8.reduce(sum));
// Expected output: 6

Синтаксис

reduce(callbackFn)
reduce(callbackFn, initialValue)

Параметры

callbackFn
Функция, которая будет выполнена для каждого элемента типизированного массива. Её возвращаемое значение становится значением параметра accumulator при следующем вызове callbackFn. Для последнего вызова возвращаемое значение становится возвращаемым значением reduce(). Функция вызывается со следующими аргументами:
accumulator
Значение, полученное в результате предыдущего вызова callbackFn. При первом вызове его значение равно initialValue, если последнее указано; в противном случае его значение равно array[0].
currentValue
Значение текущего элемента. При первом вызове его значение равно array[0], если указано initialValue; в противном случае его значение равно array[1].
currentIndex
Индекс позиции currentValue в типизированном массиве. При первом вызове его значение равно 0, если указано initialValue, иначе 1.
array
Типизированный массив, для которого был вызван reduce().
initialValue Необязательный
Значение, которым accumulator инициализируется при первом вызове функции обратного вызова. Если указано initialValue, callbackFn начинает выполняться с первым значением в типизированном массиве как currentValue. Если initialValue не указано, accumulator инициализируется первым значением в типизированном массиве, а callbackFn начинает выполняться со вторым значением в типизированном массиве как currentValue. В этом случае, если типизированный массив пуст (так что нет первого значения, которое можно вернуть как accumulator), будет выброшена ошибка.

Возвращаемое значение

Значение, которое получается в результате полного выполнения функции обратного вызова "reducer" для всего типизированного массива.

Исключения

TypeError
Выбрасывается, если типизированный массив не содержит элементов и initialValue не предоставлено.

Описание

Подробнее см. Array.prototype.reduce(). Этот метод не является универсальным и может быть вызван только для экземпляров типизированных массивов.

Примеры

Суммирование всех значений в массиве

const total = new Uint8Array([0, 1, 2, 3]).reduce((a, b) => a + b);
// total === 6

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-%typedarray%.prototype.reduce

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS Bun Deno Node.js
reduce
45
12
37
32
10
45
37
32
10
5.0
45
10
1.0.0
1.0
4.0.0

См. также

  • Polyfill для TypedArray.prototype.reduce в core-js
  • Руководство по типизированным массивам JavaScript
  • TypedArray
  • TypedArray.prototype.map()
  • TypedArray.prototype.reduceRight()
  • Array.prototype.reduce()
  • Object.groupBy()
  • Map.groupBy()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API