TypedArray.prototype.subarray()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die subarray()
-Methode von TypedArray
-Instanzen gibt ein neues typisiertes Array
im selben ArrayBuffer
-Speicher und mit den gleichen Elementtypen wie dieses
typisierte Array zurück. Der Startversatz ist inklusive und der Endversatz ist exklusiv.
Probieren Sie es aus
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]
Syntax
subarray()
subarray(begin)
subarray(begin, end)
Parameter
begin
Optional-
Element, bei dem begonnen wird. Der Versatz ist inklusive. Das gesamte Array wird in der neuen Ansicht enthalten sein, wenn dieser Wert nicht angegeben wird.
end
Optional-
Element, bei dem geendet wird. Der Versatz ist exklusiv. Wenn nicht angegeben, werden alle Elemente von dem durch
begin
angegebenen bis zum Ende des Arrays in der neuen Ansicht enthalten sein.
Rückgabewert
Ein neues TypedArray
-Objekt.
Beschreibung
Der durch begin
und end
angegebene Bereich
wird auf den gültigen Indexbereich für das aktuelle Array beschränkt; wenn die berechnete Länge des
neuen Arrays negativ wäre, wird sie auf Null beschränkt. Wenn entweder
begin
oder end
negativ ist, bezieht es sich
auf einen Index vom Ende des Arrays anstatt vom Anfang.
Es ist auch zu beachten, dass dies eine neue Ansicht auf den bestehenden Puffer erstellt; Änderungen am Inhalt des neuen Objekts wirken sich auf das ursprüngliche Objekt aus und umgekehrt.
Beispiele
Verwendung der subarray()-Methode
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 ]
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-%typedarray%.prototype.subarray |