Object.entries()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
Die Object.entries()
statische Methode gibt ein Array der eigenen aufzählbaren, string-schlüsseligen Eigenschaften eines gegebenen Objekts und deren Werte zurück.
Probieren Sie es aus
const object1 = {
a: "some string",
b: 42,
};
for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
// Expected output:
// "a: some string"
// "b: 42"
Syntax
Object.entries(obj)
Parameter
obj
-
Ein Objekt.
Rückgabewert
Ein Array der eigenen aufzählbaren, string-schlüsseligen Eigenschaften des gegebenen Objekts und deren Werte. Jedes Schlüssel-Wert-Paar ist ein Array mit zwei Elementen: Das erste Element ist der Eigenschaftsschlüssel (immer ein String) und das zweite Element ist der Eigenschaftswert.
Beschreibung
Object.entries()
gibt ein Array zurück, dessen Elemente Arrays sind, die den aufzählbaren, string-schlüsseligen Eigenschaften und Werten entsprechen, die direkt am object
gefunden werden. Dies entspricht dem Iterieren mit einer for...in
Schleife, mit dem Unterschied, dass eine for...in
Schleife auch Eigenschaften in der Prototypenkette auflistet. Die Reihenfolge des von Object.entries()
zurückgegebenen Arrays ist die gleiche wie bei einer for...in
Schleife.
Wenn Sie nur die Eigenschaftsschlüssel benötigen, verwenden Sie stattdessen Object.keys()
. Wenn Sie nur die Eigenschaftswerte benötigen, verwenden Sie stattdessen Object.values()
.
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() auf Primitiven
Nicht-Objekt-Argumente werden in Objekte umgewandelt. undefined
und null
können nicht in Objekte umgewandelt werden und werfen sofort einen TypeError
. Nur Strings können eigene aufzählbare Eigenschaften haben, während alle anderen Primitiva ein leeres Array zurückgeben.
// 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)); // []
Konvertierung eines Objekts in eine Map
Iterieren durch ein Objekt
Mit Array-Destrukturierung können Sie einfach durch Objekte iterieren.
// 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"
});
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-object.entries |