TypedArray.prototype.subarray()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die Methode subarray() von TypedArray-Instanzen gibt ein neues typisiertes Array zurück, das denselben ArrayBuffer-Speicher und denselben Elementtyp wie das ursprüngliche typisierte Array verwendet. Der Anfangsindex ist einschließlich, der Endindex ausschließlich.
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
beginOptional-
Element, bei dem der Bereich beginnt. Der Index ist einschließlich. Wird dieser Wert nicht angegeben, umfasst die neue Ansicht das gesamte Array.
endOptional-
Element, bei dem der Bereich endet. Der Index ist ausschließlich. Wird dieser Wert nicht angegeben, umfasst die neue Ansicht alle Elemente ab dem durch
beginangegebenen Element bis zum Ende des Arrays.
Rückgabewert
Ein neues TypedArray-Objekt.
Beschreibung
Der durch begin und end angegebene Bereich wird auf den gültigen Indexbereich des aktuellen Arrays begrenzt. Wäre die berechnete Länge des neuen Arrays negativ, wird sie auf null gesetzt. Ist begin oder end negativ, bezieht sich der Wert auf einen Index vom Ende des Arrays aus statt vom Anfang.
Beachten Sie außerdem, dass eine neue Ansicht auf den vorhandenen Buffer erstellt wird. Änderungen am Inhalt des neuen Objekts wirken sich auf das ursprüngliche Objekt aus und umgekehrt.
Beispiele
>Die Methode subarray() verwenden
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
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-%typedarray%.prototype.subarray> |