Object.values()

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 statische Methode Object.values() gibt ein Array der eigenen aufzählbaren, string-keyed Property-Werte eines bestimmten Objekts zurück.

Probieren Sie es aus

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

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

Syntax

js
Object.values(obj)

Parameter

obj

Ein Objekt.

Rückgabewert

Ein Array, das die eigenen aufzählbaren, string-keyed Property-Werte des Objekts enthält.

Beschreibung

Object.values() gibt ein Array zurück, dessen Elemente Werte von aufzählbaren, string-keyed Eigenschaften sind, die direkt auf dem object gefunden werden. Dies entspricht der Iteration mit einer for...in-Schleife, außer dass eine for...in-Schleife Eigenschaften in der Prototyp-Kette ebenfalls aufzählt. Die Reihenfolge des von Object.values() zurückgegebenen Arrays ist die gleiche wie die, die von einer for...in-Schleife bereitgestellt wird.

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

Beispiele

Verwendung von Object.values()

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

Verwendung von Object.values() bei 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 Primitiven ein leeres Array zurückgeben.

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

Specification
ECMAScript® 2026 Language Specification
# sec-object.values

Browser-Kompatibilität

Siehe auch