Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. TypedArray
  6. from()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

TypedArray.from()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2016⁩.

DieTypedArray.from() statische Methode erstellt ein neuesgetyptes Arrayaus einem array-ähnlichen oder iterierbaren Objekt. Diese Methode ist fast identisch mitArray.from().

Probieren Sie es aus

const uint16 = Int16Array.from("12345");console.log(uint16);// Expected output: Int16Array [1, 2, 3, 4, 5]

Syntax

js
TypedArray.from(arrayLike, mapFn)TypedArray.from(arrayLike, mapFn, thisArg)

Dabei istTypedArray eines von:

Parameter

arrayLike

Ein iterierbares oder array-ähnliches Objekt, das in ein getyptes Array umgewandelt werden soll.

mapFnOptional

Eine Funktion, die für jedes Element des getypten Arrays aufgerufen wird. Wenn bereitgestellt, wird jeder Wert, der zum Array hinzugefügt werden soll, zuerst durch diese Funktion gefiltert, und der Rückgabewert vonmapFn wird stattdessen zum getypten Array hinzugefügt. Die Funktion wird mit den folgenden Argumenten aufgerufen:

element

Das aktuelle Element, das im getypten Array verarbeitet wird.

index

Der Index des aktuellen Elements, das im getypten Array verarbeitet wird.

thisArgOptional

Wert, der alsthis beim Ausführen vonmapFn verwendet wird.

Rückgabewert

Eine neueTypedArray Instanz.

Beschreibung

SieheArray.from() für mehr Details.

Es gibt einige subtile Unterschiede zwischenArray.from() undTypedArray.from() (Hinweis: Derthis-Wert, der im Folgenden erwähnt wird, ist derthis-Wert, mit demTypedArray.from() aufgerufen wurde, nicht dasthisArg-Argument, das verwendet wird, ummapFn zu rufen):

  • Wenn derthis-Wert vonTypedArray.from() kein Konstruktor ist, wirftTypedArray.from() einenTypeError, währendArray.from() standardmäßig ein neuesArray erstellt.
  • Das durchthis konstruierte Objekt muss eineTypedArray Instanz sein, währendArray.from() erlaubt, dass seinthis-Wert zu einem beliebigen Objekt konstruiert wird.
  • Wenn dersource-Parameter ein Iterator ist, sammeltTypedArray.from() zuerst alle Werte aus dem Iterator, erstellt dann eine Instanz vonthis unter Verwendung der Anzahl, und setzt schließlich die Werte auf der Instanz.Array.from() setzt jeden Wert, sobald er vom Iterator empfangen wird, und setzt dann seinelength am Ende.
  • TypedArray.from() verwendet[[Set]], währendArray.from()[[DefineOwnProperty]] verwendet. Daher ruft es beim Arbeiten mitProxy-Objektenhandler.set() auf, um neue Elemente zu erstellen, anstatthandler.defineProperty().
  • WennArray.from() ein array-ähnliches Objekt erhält, das kein Iterator ist, respektiert es Löcher.TypedArray.from() sorgt dafür, dass das Ergebnis dicht ist.

Beispiele

Aus einem iterierbaren Objekt (Set)

js
const s = new Set([1, 2, 3]);Uint8Array.from(s);// Uint8Array [ 1, 2, 3 ]

Aus einem String

js
Int16Array.from("123");// Int16Array [ 1, 2, 3 ]

Verwendung mit Pfeilfunktion und Karte

Verwendung einer Pfeilfunktion als Abbildungsfunktion, um die Elemente zu manipulieren

js
Float32Array.from([1, 2, 3], (x) => x + x);// Float32Array [ 2, 4, 6 ]

Eine Zahlenfolge erzeugen

js
Uint8Array.from({ length: 5 }, (v, k) => k);// Uint8Array [ 0, 1, 2, 3, 4 ]

Aufrufen von from() auf Nicht-TypedArray-Konstruktoren

Derthis-Wert vonfrom() muss ein Konstruktor sein, der eineTypedArray Instanz zurückgibt.

js
function NotArray(len) {  console.log("NotArray called with length", len);}Int8Array.from.call({}, []); // TypeError: #<Object> is not a constructorInt8Array.from.call(NotArray, []);// NotArray called with length 0// TypeError: Method %TypedArray%.from called on incompatible receiver #<NotArray>
js
function NotArray2(len) {  console.log("NotArray2 called with length", len);  return new Uint8Array(len);}console.log(Int8Array.from.call(NotArray2, [1, 2, 3]));// NotArray2 called with length 3// Uint8Array(3) [ 1, 2, 3 ]

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-%typedarray%.from

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp