Spec-Zone.ru › JavaScript

TypedArray.prototype.subarray()

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

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

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

Попробуйте

const uint8 = new Uint8Array([10, 20, 30, 40, 50]);

console.log(uint8.subarray(1, 3));
// Expected output: Uint8Array [20, 30]

console.log(uint8.subarray(1));
// Expected output: Uint8Array [20, 30, 40, 50]

Синтаксис

subarray()
subarray(begin)
subarray(begin, end)

Параметры

begin Необязательный
Элемент для начала. Смещение включается. Весь массив будет включен в новый вид, если это значение не указано.
end Необязательный
Элемент для окончания. Смещение исключается. Если не указано, все элементы от указанного в begin до конца массива включаются в новый вид.

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

Новый объект TypedArray.

Описание

Диапазон, указанный в begin и end, ограничивается допустимым диапазоном индексов для текущего массива; если вычисленная длина нового массива будет отрицательной, она будет ограничена нулем. Если begin или end отрицательны, они ссылаются на индекс с конца массива, а не с начала.

Также обратите внимание, что это создает новый вид на существующем буфере; изменения в содержимом нового объекта повлияют на исходный объект и наоборот.

Примеры

Использование метода subarray()

const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);
uint8.set([1, 2, 3]);

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

const sub = uint8.subarray(0, 4);

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

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-%typedarray%.prototype.subarray

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

Desktop Mobile Server
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
subarray
7
12
4
11.6
5.1
18
4
12
4.2
1.0
4
4.2
1.0.0
1.0
0.12.0

См. также

  • Polyfill of TypedArray.prototype.subarray in 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/subarray

Spec-Zone.ru

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