Spec-Zone.ru › JavaScript

TypedArray.prototype.set()

Базовая версия Широко доступна

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

Метод set() экземпляров TypedArray сохраняет несколько значений в типизированном массиве, считывая входные значения из указанного массива.

Попробуйте

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

// Copy the values into the array starting at index 3
uint8.set([1, 2, 3], 3);

console.log(uint8);
// Expected output: Uint8Array [0, 0, 0, 1, 2, 3, 0, 0]

Синтаксис

set(array)
set(array, targetOffset)

set(typedarray)
set(typedarray, targetOffset)

Параметры

array
Массив, из которого копируются значения. Все значения из исходного массива копируются в целевой массив, если только длина исходного массива плюс целевое смещение не превышает длину целевого массива, и в этом случае выбрасывается исключение.
typedarray
Если исходный массив является типизированным массивом, эти два массива могут совместно использовать один и тот же базовый ArrayBuffer; движок JavaScript разумно скопирует исходный диапазон буфера в целевой диапазон.
targetOffset Необязательно
Смещение в целевом массиве, с которого следует начать запись значений из исходного массива. Если это значение опущено, принимается 0 (то есть исходный массив перезапишет значения в целевом массиве, начиная с индекса 0).

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

Нет (undefined).

Исключения

RangeError
Выбрасывается в одном из следующих случаев:
  • Элемент будет сохранен за пределами типизированного массива, либо потому, что targetOffset слишком велик, либо потому, что array или typedarray слишком велики.
  • targetOffset отрицателен.

Примеры

Использование set()

const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

uint8.set([1, 2, 3], 3);

console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]

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

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

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

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
set
7
12
4
11.6
5.1
18
4
12
4.2
1.0
4
4.2
1.0.0
1.0
0.10.0

Смотрите также

  • Полифил TypedArray.prototype.set в core-js
  • Руководство по типизированным массивам JavaScript
  • TypedArray
  • ArrayBuffer

© 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/set

Spec-Zone.ru

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