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
auf demselben ArrayBuffer
-Speicher und mit denselben Elementtypen wie dieses
typisierte Array zurück. Der Startversatz ist inklusiv 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 inklusiv. Das gesamte Array wird in die neue Ansicht einbezogen, falls dieser Wert nicht angegeben ist.
end
Optional-
Element, bei dem geendet wird. Der Versatz ist exklusiv. Wenn nicht angegeben, werden alle Elemente vom durch
begin
spezifizierten bis zum Ende des Arrays in die neue Ansicht einbezogen.
Rückgabewert
Ein neues TypedArray
-Objekt.
Beschreibung
Der Bereich, der durch begin
und end
angegeben ist,
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 es auf Null beschränkt. Wenn entweder
begin
oder end
negativ ist, bezieht sich dies auf
einen Index vom Ende des Arrays anstatt vom Anfang.
Beachten Sie auch, dass hierbei eine neue Ansicht des vorhandenen Puffers erstellt wird; Änderungen an den Inhalten des neuen Objekts wirken sich auf das ursprüngliche Objekt aus und umgekehrt.
Beispiele
Verwendung der Methode 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 ]
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-%typedarray%.prototype.subarray |