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, durch Zeichenfolgen indizierten Eigenschaften eines gegebenen 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
Object.values(obj)
Parameter
obj
-
Ein Objekt.
Rückgabewert
Ein Array, das die eigenen aufzählbaren, durch Zeichenfolgen indizierten Eigenschaftenwerte des gegebenen Objekts enthält.
Beschreibung
Object.values()
gibt ein Array zurück, dessen Elemente die Werte der aufzählbaren, durch Zeichenfolgen indizierten Eigenschaften sind, die direkt beim object
gefunden werden. Dies ist dasselbe wie das Iterieren mit einer for...in
Schleife, außer dass eine for...in
Schleife auch Eigenschaften in der Prototypenkette aufzählt. Die Reihenfolge des durch Object.values()
zurückgegebenen Arrays ist dieselbe wie die durch eine for...in
Schleife bereitgestellte.
Wenn Sie die Eigenschaften-Schlüssel benötigen, verwenden Sie stattdessen Object.keys()
. Wenn Sie sowohl die Eigenschaften-Schlüssel als auch die Werte benötigen, verwenden Sie stattdessen Object.entries()
.
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() auf Primitiven
Nicht-Objekt-Argumente werden in Objekte umgewandelt. undefined
und null
können nicht in Objekte umgewandelt werden und lösen sofort einen TypeError
aus. Nur Zeichenfolgen können eigene aufzählbare Eigenschaften haben, während alle anderen Primitiven ein leeres Array zurückgeben.
// 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 |