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 von 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 die 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 welchem Fall eine Ausnahme ausgelöst wird.

typedarray

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

targetOffset Optional

Der Offset im Zielarray, an dem mit dem Schreiben von Werten aus dem Quellarray begonnen wird. 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 würde über das Ende des typisierten Arrays hinaus gespeichert, entweder weil targetOffset zu groß ist oder weil array oder typedarray zu groß sind.
  • 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® 2025 Language Specification
# sec-%typedarray%.prototype.set

Browser-Kompatibilität

Siehe auch