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 July 2015.
Die slice()
-Methode von ArrayBuffer
-Instanzen gibt ein neues ArrayBuffer
zurück, dessen Inhalt eine Kopie der Bytes dieses ArrayBuffer
von start
(einschließlich) bis end
(ausschließlich) ist. Wenn start
oder end
negativ sind, beziehen sie sich auf einen Index vom Ende des Arrays aus, anstatt vom 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
start
Optional-
Der nullbasierte Index, an dem die Extraktion beginnt, konvertiert in eine ganze Zahl.
- Ein negativer Index zählt rückwärts vom Ende des Buffers — wenn
-buffer.length <= start < 0
, wirdstart + buffer.length
verwendet. - Wenn
start < -buffer.length
oderstart
ausgelassen wird, wird0
verwendet. - Wenn
start >= buffer.length
ist, wird ein leerer Buffer zurückgegeben.
- Ein negativer Index zählt rückwärts vom Ende des Buffers — wenn
end
Optional-
Der nullbasierte Index, an dem die Extraktion endet, konvertiert in eine ganze Zahl.
slice()
extrahiert bis, aber nicht einschließlichend
.- Ein negativer Index zählt rückwärts vom Ende des Buffers — wenn
-buffer.length <= end < 0
, wirdend + buffer.length
verwendet. - Wenn
end < -buffer.length
ist, wird0
verwendet. - Wenn
end >= buffer.length
oderend
ausgelassen wird, wirdbuffer.length
verwendet, wodurch alle Elemente bis zum Ende extrahiert werden. - Wenn
end
eine Position impliziert, die vor oder an der Position liegt, diestart
impliziert, wird ein leerer Buffer zurückgegeben.
- Ein negativer Index zählt rückwärts vom Ende des Buffers — wenn
Rückgabewert
Ein neues ArrayBuffer
, das die extrahierten Elemente enthält. Es ist nicht veränderbar, selbst wenn das Original veränderbar war.
Beispiele
Kopieren eines ArrayBuffer
const buf1 = new ArrayBuffer(8);
const buf2 = buf1.slice(0);
Spezifikationen
Specification |
---|
ECMAScript® 2025 Language Specification # sec-arraybuffer.prototype.slice |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
slice |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- See implementation notes.