Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
ArrayBuffer.prototype.slice()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Dieslice()-Methode vonArrayBuffer Instanzen gibt einen neuenArrayBuffer zurück, dessen Inhalt eine Kopie der Bytes diesesArrayBuffer vonstart, inklusive, bisend, exklusiv, ist. Wenn entwederstart oderend negativ ist, bezieht es sich auf einen Index vom Ende des Arrays, im Gegensatz zum Anfang.
In diesem Artikel
Probieren Sie es aus
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(16);const int32View = new Int32Array(buffer);// Produces Int32Array [0, 0, 0, 0]int32View[1] = 42;const sliced = new Int32Array(buffer.slice(4, 12));// Produces Int32Array [42, 0]console.log(sliced[0]);// Expected output: 42Syntax
slice()slice(start)slice(start, end)Parameter
startOptionalIndex, bei dem die Extraktion beginnen soll,umgewandelt in eine Ganzzahl.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
-buffer.length <= start < 0, wirdstart + buffer.lengthverwendet. - Wenn
start < -buffer.lengthoderstartweggelassen wird, wird0verwendet. - Wenn
start >= buffer.length, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
endOptionalIndex, bei dem die Extraktion enden soll,umgewandelt in eine Ganzzahl.
slice()extrahiert bis, aber nicht einschließlichend.- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
-buffer.length <= end < 0, wirdend + buffer.lengthverwendet. - Wenn
end < -buffer.length, wird0verwendet. - Wenn
end >= buffer.lengthoderendweggelassen wird oderundefinedist, wirdbuffer.lengthverwendet, was dazu führt, dass alle Elemente bis zum Ende extrahiert werden. - Wenn
endeine Position vor oder an der Position impliziert, diestartimpliziert, wird ein leerer Puffer zurückgegeben.
- Ein negativer Index zählt vom Ende des Puffers zurück — wenn
Rückgabewert
Ein neuerArrayBuffer, der die extrahierten Elemente enthält. Er ist nichtresizable, selbst wenn das Original es war.
Beispiele
>Kopieren eines ArrayBuffer
const buf1 = new ArrayBuffer(8);const buf2 = buf1.slice(0);Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-arraybuffer.prototype.slice> |