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.
Die slice()-Methode von ArrayBuffer Instanzen gibt einen neuen ArrayBuffer zurück, dessen Inhalt eine Kopie der Bytes dieses ArrayBuffer von start, inklusive, bis end, exklusiv, ist. Wenn entweder start oder end negativ ist, bezieht es sich auf einen Index vom Ende des Arrays, im Gegensatz zum Anfang.
Probieren Sie es aus
// Create an ArrayBuffer with a size in bytes
const 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: 42
Syntax
slice()
slice(start)
slice(start, end)
Parameter
startOptional-
Index, 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
endOptional-
Index, 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 neuer ArrayBuffer, der die extrahierten Elemente enthält. Er ist nicht resizable, 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> |
Browser-Kompatibilität
Loading…