Signatur
Beschreibung
Die statische Methode Object.entries() gibt ein Array der eigenen aufzählbaren, mit Strings verschlüsselten Schlüssel-Wert-Paare eines gegebenen Objekts zurück.
Object.entries() gibt ein Array zurück, dessen Elemente Arrays sind, die den aufzählbaren, mit Strings verschlüsselten Schlüssel-Wert-Paaren entsprechen, die direkt auf object gefunden werden. Dies entspricht der Iteration mit einer for...in-Schleife, mit dem Unterschied, dass eine for...in-Schleife auch Eigenschaften in der Prototype-Chain aufzählt. Die Reihenfolge des von Object.entries() zurückgegebenen Arrays ist dieselbe wie die einer for...in-Schleife.
Wenn Sie nur die Property-Keys benötigen, verwenden Sie stattdessen Object.keys(). Wenn Sie nur die Property-Values benötigen, verwenden Sie stattdessen Object.values().
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $obj Pflicht | Object | — | Ein Objekt. |
Rückgabewert
Beispiele
Verwendung von Object.entries()
const obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
const arrayLike = { 0: "a", 1: "b", 2: "c" };
console.log(Object.entries(arrayLike)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]
const randomKeyOrder = { 100: "a", 2: "b", 7: "c" };
console.log(Object.entries(randomKeyOrder)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]
// getFoo is a non-enumerable property
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = "bar";
console.log(Object.entries(myObj)); // [ ['foo', 'bar'] ]
Verwendung von Object.entries() mit Primitives
// Strings have indices as enumerable own properties
console.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]
// Other primitives except undefined and null have no own properties
console.log(Object.entries(100)); // []
Konvertieren eines Objekts in eine Map
const obj = { foo: "bar", baz: 42 };
const map = new Map(Object.entries(obj));
console.log(map); // Map(2) {"foo" => "bar", "baz" => 42}
Iterieren durch ein Objekt
// Using for...of loop
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}
// Using array methods
Object.entries(obj).forEach(([key, value]) => {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
});
// Wichtig · Fallstricke
Nicht-Objekt-Argumente werden zu Objekten konvertiert (object coercion). undefined und null können nicht zu Objekten konvertiert werden und werfen sofort einen TypeError. Nur Strings können eigene aufzählbare Eigenschaften haben, während alle anderen Primitives ein leeres Array zurückgeben.