| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit September 2016 browserbergreifend verfgbar.
Die TypedArray.from() statische Methode erstellt ein neues
getyptes Array
aus einem array-hnlichen oder iterierbaren Objekt. Diese Methode ist fast identisch mit
Array.from().
const uint16 = Int16Array.from("12345");
console.log(uint16);
// Expected output: Int16Array [1, 2, 3, 4, 5]
TypedArray.from(arrayLike, mapFn)
TypedArray.from(arrayLike, mapFn, thisArg)
Dabei ist TypedArray eines von:
Int8ArrayUint8ArrayUint8ClampedArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayFloat16ArrayFloat32ArrayFloat64ArrayBigInt64ArrayBigUint64ArrayarrayLikeEin iterierbares oder array-hnliches Objekt, das in ein getyptes Array umgewandelt werden soll.
mapFn OptionalEine Funktion, die fr jedes Element des getypten Arrays aufgerufen wird. Wenn bereitgestellt, wird jeder Wert, der zum Array hinzugefgt werden soll, zuerst durch diese Funktion gefiltert, und der Rckgabewert von mapFn wird stattdessen zum getypten Array hinzugefgt. Die Funktion wird mit den folgenden Argumenten aufgerufen:
thisArg OptionalWert, der als this beim Ausfhren von mapFn verwendet wird.
Eine neue TypedArray Instanz.
Siehe Array.from() fr mehr Details.
Es gibt einige subtile Unterschiede zwischen Array.from() und TypedArray.from() (Hinweis: Der this-Wert, der im Folgenden erwhnt wird, ist der this-Wert, mit dem TypedArray.from() aufgerufen wurde, nicht das thisArg-Argument, das verwendet wird, um mapFn zu rufen):
this-Wert von TypedArray.from() kein Konstruktor ist, wirft TypedArray.from() einen TypeError, whrend Array.from() standardmig ein neues Array erstellt.this konstruierte Objekt muss eine TypedArray Instanz sein, whrend Array.from() erlaubt, dass sein this-Wert zu einem beliebigen Objekt konstruiert wird.source-Parameter ein Iterator ist, sammelt TypedArray.from() zuerst alle Werte aus dem Iterator, erstellt dann eine Instanz von this unter Verwendung der Anzahl, und setzt schlielich die Werte auf der Instanz. Array.from() setzt jeden Wert, sobald er vom Iterator empfangen wird, und setzt dann seine length am Ende.TypedArray.from() verwendet [[Set]], whrend Array.from() [[DefineOwnProperty]] verwendet. Daher ruft es beim Arbeiten mit Proxy-Objekten handler.set() auf, um neue Elemente zu erstellen, anstatt handler.defineProperty().Array.from() ein array-hnliches Objekt erhlt, das kein Iterator ist, respektiert es Lcher. TypedArray.from() sorgt dafr, dass das Ergebnis dicht ist.const s = new Set([1, 2, 3]);
Uint8Array.from(s);
// Uint8Array [ 1, 2, 3 ]
Int16Array.from("123");
// Int16Array [ 1, 2, 3 ]
Verwendung einer Pfeilfunktion als Abbildungsfunktion, um die Elemente zu manipulieren
Float32Array.from([1, 2, 3], (x) => x + x);
// Float32Array [ 2, 4, 6 ]
Uint8Array.from({ length: 5 }, (v, k) => k);
// Uint8Array [ 0, 1, 2, 3, 4 ]
Der this-Wert von from() muss ein Konstruktor sein, der eine TypedArray Instanz zurckgibt.
function NotArray(len) {
console.log("NotArray called with length", len);
}
Int8Array.from.call({}, []); // TypeError: #<Object> is not a constructor
Int8Array.from.call(NotArray, []);
// NotArray called with length 0
// TypeError: Method %TypedArray%.from called on incompatible receiver #<NotArray>
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 ]
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-%typedarray%.from |
TypedArray.from in core-jsTypedArrayTypedArray.of()TypedArray.prototype.map()Array.from()TypedArrayObject/FunctionBigInt64ArrayBigUint64ArrayFloat16ArrayFloat32ArrayFloat64ArrayInt8ArrayInt16ArrayInt32ArrayUint8ArrayUint8ClampedArrayUint16ArrayUint32ArrayDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |