Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Object.values()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2017 browserübergreifend verfügbar.

Die statische Methode Object.values() gibt ein Array mit den Werten der eigenen, aufzählbaren Eigenschaften eines angegebenen Objekts zurück, deren Schlüssel Zeichenfolgen sind.

Probieren Sie es aus

const object = {
  a: "some string",
  b: 42,
  c: false,
};

console.log(Object.values(object));
// Expected output: Array ["some string", 42, false]

Syntax

js
Object.values(obj)

Parameter

obj

Ein Objekt.

Rückgabewert

Ein Array mit den Werten der eigenen, aufzählbaren Eigenschaften des angegebenen Objekts, deren Schlüssel Zeichenfolgen sind.

Beschreibung

Object.values() gibt ein Array zurück, dessen Elemente die Werte der aufzählbaren Eigenschaften sind, die direkt auf object vorhanden sind und deren Schlüssel Zeichenfolgen sind. Dies ähnelt dem Zugriff auf die Werte in einer for...in-Schleife. Eine for...in-Schleife zählt jedoch auch Eigenschaften in der Prototypkette auf. Die Reihenfolge der von Object.values() zurückgegebenen Array-Elemente entspricht der Reihenfolge in einer for...in-Schleife.

Wenn Sie die Eigenschaftsschlüssel benötigen, verwenden Sie stattdessen Object.keys(). Wenn Sie sowohl die Eigenschaftsschlüssel als auch die Werte benötigen, verwenden Sie stattdessen Object.entries().

Beispiele

Object.values() verwenden

js
const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// Array-like object
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']

// Array-like object with random key ordering
// When using numeric keys, the values are returned in the keys' numerical order
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']

// getFoo is a non-enumerable property
const myObj = Object.create(
  {},
  {
    getFoo: {
      value() {
        return this.foo;
      },
    },
  },
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']

Object.values() mit primitiven Werten verwenden

Argumente, die keine Objekte sind, werden in Objekte umgewandelt. undefined und null können nicht in Objekte umgewandelt werden und lösen unmittelbar einen TypeError aus. Nur Zeichenfolgen können eigene, aufzählbare Eigenschaften haben; bei allen anderen primitiven Werten wird ein leeres Array zurückgegeben.

js
// Strings have indices as enumerable own properties
console.log(Object.values("foo")); // ['f', 'o', 'o']

// Other primitives except undefined and null have no own properties
console.log(Object.values(100)); // []

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-object.values

Browser-Kompatibilität

Siehe auch