Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 März 2017.
Die statische MethodeObject.entries() gibt ein Array der eigenen aufzählbaren, string-basierten Schlüssel-Wert-Paare eines Objekts zurück.
In diesem Artikel
Probieren Sie es aus
const object = { a: "some string", b: 42,};for (const [key, value] of Object.entries(object)) { console.log(`${key}: ${value}`);}// Expected output:// "a: some string"// "b: 42"Syntax
Object.entries(obj)Parameter
objEin Objekt.
Rückgabewert
Ein Array der eigenen aufzählbaren, string-basierten Schlüssel-Wert-Paare des angegebenen Objekts. Jedes Schlüssel-Wert-Paar ist ein Array mit zwei Elementen: das erste Element ist der Schlüssel der Eigenschaft (immer ein String) und das zweite Element ist der Wert der Eigenschaft.
Beschreibung
Object.entries() gibt ein Array zurück, dessen Elemente Arrays sind, die den aufzählbaren, string-basierten Schlüssel-Wert-Paaren entsprechen, die direkt auf demobject gefunden wurden. Dies ist dasselbe wie die Iteration mit einerfor...in Schleife, außer dass einefor...in Schleife auch Eigenschaften in der Prototypenkette aufzählt. Die Reihenfolge des vonObject.entries() zurückgegebenen Arrays entspricht der, die durch einefor...in Schleife bereitgestellt wird.
Wenn Sie nur die Eigenschaftsschlüssel benötigen, verwenden Sie stattdessenObject.keys(). Wenn Sie nur die Eigenschaftswerte benötigen, verwenden Sie stattdessenObject.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 propertyconst myObj = Object.create( {}, { getFoo: { value() { return this.foo; }, }, },);myObj.foo = "bar";console.log(Object.entries(myObj)); // [ ['foo', 'bar'] ]Verwendung von Object.entries() bei Primitiven
Nicht-Objekt-Argumente werdenzu Objekten konvertiert.undefined undnull können nicht zu Objekten konvertiert werden und werfen sofort einenTypeError. Nur Strings können eigene aufzählbare Eigenschaften haben, während alle anderen Primitiven ein leeres Array zurückgeben.
// Strings have indices as enumerable own propertiesconsole.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]// Other primitives except undefined and null have no own propertiesconsole.log(Object.entries(100)); // []Ein Objekt in eine Map umwandeln
DerMap() Konstruktor akzeptiert ein iterierbares Objekt vonentries. MitObject.entries können Sie einfach von einemObject zu einerMap konvertieren:
const obj = { foo: "bar", baz: 42 };const map = new Map(Object.entries(obj));console.log(map); // Map(2) {"foo" => "bar", "baz" => 42}Iteration über ein Objekt
MitArray-Destrukturierung können Sie einfach über Objekte iterieren.
// Using for...of loopconst 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 methodsObject.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"});Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.entries> |