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 ]
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
TypedArrayArrayBuffer
© 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