Signatur
Beschreibung
Die statische Methode Object.fromEntries() wandelt eine Liste von Schlüssel-Wert-Paaren in ein Objekt um.
Die Methode Object.fromEntries() nimmt eine Liste von Schlüssel-Wert-Paaren entgegen und gibt ein neues Objekt zurück, dessen Eigenschaften durch diese Einträge gegeben sind. Das Argument iterable muss ein Objekt sein, das eine [Symbol.iterator]()-Methode implementiert. Die Methode gibt ein iterator-Objekt zurück, das zweielementige array-ähnliche Objekte erzeugt. Das erste Element ist ein Wert, der als Property-Key verwendet wird, und das zweite Element ist der Wert, der diesem Property-Key zugeordnet wird.
Object.fromEntries() führt die Umkehrung von Object.entries() durch, mit dem Unterschied, dass Object.entries() nur Eigenschaften mit String-Schlüsseln zurückgibt, während Object.fromEntries() auch Eigenschaften mit symbol-Schlüsseln erstellen kann.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $iterable Pflicht | Iterable | — | Ein iterable, wie ein Array oder eine Map, das eine Liste von Objekten enthält. Jedes Objekt sollte zwei Eigenschaften haben: 0 — ein String oder symbol, der den Property-Key darstellt, und 1 — den Property-Wert. Typischerweise wird dieses Objekt als zweielementiges Array implementiert, wobei das erste Element der Property-Key und das zweite Element der Property-Wert ist. |
Rückgabewert
Beispiele
Eine Map in ein Objekt umwandeln
const map = new Map([
["foo", "bar"],
["baz", 42],
]);
const obj = Object.fromEntries(map);
console.log(obj); // { foo: "bar", baz: 42 }
Ein Array in ein Objekt umwandeln
const arr = [
["0", "a"],
["1", "b"],
["2", "c"],
];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }
Objekt-Transformationen
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 }
// Wichtig · Fallstricke
Array.from() verwendet Object.fromEntries() nicht den Wert von this, sodass ein Aufruf auf einem anderen Konstruktor keine Objekte dieses Typs erzeugt.