Start · Sprachen · JavaScript · Referenz · Object.fromEntries()

Object.fromEntries()

Methode

Die statische Methode <code>Object.fromEntries()</code> wandelt eine Liste von Schlüssel-Wert-Paaren in ein Objekt um.

Kategorie: method-property

Signatur

Object.fromEntries(iterable)

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

Typ
Object
Beschreibung
Ein neues Objekt, dessen Eigenschaften durch die Einträge des iterables gegeben sind.

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

Anders als Array.from() verwendet Object.fromEntries() nicht den Wert von this, sodass ein Aufruf auf einem anderen Konstruktor keine Objekte dieses Typs erzeugt.