TypedArray.prototype.set()

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 set()-Methode von TypedArray-Instanzen speichert mehrere Werte im typisierten Array, indem sie Eingabewerte aus einem angegebenen Array liest.

Probieren Sie es aus

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

// Copy the values into the array starting at index 3
uint8.set([1, 2, 3], 3);

console.log(uint8);
// Expected output: Uint8Array [0, 0, 0, 1, 2, 3, 0, 0]

Syntax

js
set(array)
set(array, targetOffset)

set(typedarray)
set(typedarray, targetOffset)

Parameter

array

Das Array, aus dem Werte kopiert werden. Alle Werte aus dem Quellarray werden in das Zielarray kopiert, es sei denn, die Länge des Quellarrays plus der Zieloffset überschreitet die Länge des Zielarrays, in diesem Fall wird eine Ausnahme ausgelöst.

typedarray

Wenn das Quellarray ein typisiertes Array ist, können die beiden Arrays den gleichen zugrunde liegenden ArrayBuffer teilen; die JavaScript-Engine kopiert intelligent den Quellbereich des Puffers in den Zielbereich.

targetOffset Optional

Der Offset im Zielarray, bei dem mit dem Schreiben von Werten aus dem Quellarray begonnen werden soll. Wenn dieser Wert weggelassen wird, wird 0 angenommen (das heißt, das Quellarray überschreibt Werte im Zielarray beginnend bei Index 0).

Rückgabewert

Keiner (undefined).

Ausnahmen

RangeError

Wird in einem der folgenden Fälle ausgelöst:

  • Ein Element wird über das Ende des typisierten Arrays hinaus gespeichert, entweder weil targetOffset zu groß ist oder weil array oder typedarray zu groß ist.
  • targetOffset ist negativ.

Beispiele

Verwendung von set()

js
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

uint8.set([1, 2, 3], 3);

console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-%typedarray%.prototype.set

Browser-Kompatibilität

Siehe auch