Object.fromEntries()
Die statische Methode Object.fromEntries()
verwandelt eine Liste von Schlüssel-Wert-Paaren in ein Objekt.
Probieren Sie es aus
Syntax
Object.fromEntries(iterable)
Parameter
iterable
-
Ein iterable, wie ein
Array
oder eineMap
, das eine Liste von Objekten enthält. Jedes Objekt sollte zwei Eigenschaften haben:Typischerweise wird dieses Objekt als ein Array mit zwei Elementen implementiert, wobei das erste Element der Eigenschaftsschlüssel und das zweite Element der Eigenschaftswert ist.
Rückgabewert
Ein neues Objekt, dessen Eigenschaften durch die Einträge des Iterables gegeben sind.
Beschreibung
Die Methode Object.fromEntries()
nimmt eine Liste von Schlüssel-Wert-Paaren und gibt ein neues Objekt zurück, dessen Eigenschaften durch diese Einträge gegeben sind. Das Argument iterable
wird erwartet, ein Objekt zu sein, das eine [Symbol.iterator]()
-Methode implementiert. Die Methode gibt ein Iterator-Objekt zurück, das Array-ähnliche Objekte mit zwei Elementen produziert. Das erste Element ist ein Wert, der als Eigenschaftsschlüssel verwendet wird, und das zweite Element ist der Wert, der diesem Eigenschaftsschlüssel zugeordnet werden soll.
Object.fromEntries()
führt die Umkehrung von Object.entries()
aus, wobei Object.entries()
nur Eigenschaften mit String-Schlüsseln zurückgibt, während Object.fromEntries()
auch Symbol-Schlüssel erstellen kann.
Hinweis: Im Gegensatz zu Array.from()
verwendet Object.fromEntries()
nicht den Wert von this
, sodass der Aufruf bei einem anderen Konstruktor keine Objekte dieses Typs erstellt.
Beispiele
Umwandeln einer Map in ein Objekt
Umwandeln eines Arrays in ein Objekt
Objektumwandlungen
Mit Object.fromEntries
, seiner Gegenmethode Object.entries()
und Array-Manipulationsmethoden können Sie Objekte wie folgt umwandeln:
const object1 = { a: 1, b: 2, c: 3 };
const object2 = Object.fromEntries(
Object.entries(object1).map(([key, val]) => [key, val * 2]),
);
console.log(object2);
// { a: 2, b: 4, c: 6 }
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-object.fromentries |
Browser-Kompatibilität
BCD tables only load in the browser