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

Object.values()

Methode

Die statische Methode <code>Object.values()</code> gibt ein Array der eigenen aufzählbaren stringbasierten Property-Werte eines Objekts zurück.

Kategorie: method-property

Signatur

Object.values(obj)

Beschreibung

Die statische Methode Object.values() gibt ein Array der eigenen aufzählbaren stringbasierten Property-Werte eines gegebenen Objekts zurück.

Object.values() gibt ein Array zurück, dessen Elemente die Werte der aufzählbaren stringbasierten Properties sind, die direkt auf object gefunden werden. Dies ist ähnlich zum Zugriff auf die Werte innerhalb einer for...in-Schleife, mit dem Unterschied, dass eine for...in-Schleife auch Properties in der Prototype-Chain aufzählt. Die Reihenfolge des von Object.values() zurückgegebenen Arrays entspricht derjenigen einer for...in-Schleife.

Wenn du die Property-Keys benötigst, verwende stattdessen Object.keys(). Wenn du sowohl die Property-Keys als auch die Werte benötigst, verwende stattdessen Object.entries().

Parameter

Name Typ Default Beschreibung
$obj Pflicht Object Ein Objekt.

Rückgabewert

Typ
Array
Beschreibung
Ein Array, das die eigenen aufzählbaren stringbasierten Property-Werte des gegebenen Objekts enthält.

Beispiele

Verwendung von Object.values()

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']

Verwendung von Object.values() mit Primitives

// 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)); // []

// Wichtig · Fallstricke

Nicht-Objekt-Argumente werden in Objekte umgewandelt (object coercion). undefined und null können nicht in Objekte umgewandelt werden und werfen sofort einen TypeError. Nur Strings können eigene aufzählbare Properties haben, während alle anderen Primitives ein leeres Array zurückgeben.