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 July 2015.
Die Object.values()
statische Methode gibt ein Array mit den eigenen aufzählbaren, durch Zeichenfolgen indizierten Eigenschaftswerten eines gegebenen Objekts zurück.
Probieren Sie es aus
Syntax
Object.values(obj)
Parameter
obj
-
Ein Objekt.
Rückgabewert
Ein Array, das die eigenen aufzählbaren, durch Zeichenfolgen indizierten Eigenschaftswerte des gegebenen Objekts enthält.
Beschreibung
Object.values()
gibt ein Array zurück, dessen Elemente Werte der aufzählbaren, durch Zeichenfolgen indizierten Eigenschaften des direkt auf object
befindlichen Objekts sind. Dies entspricht dem Durchlaufen mit einer for...in
Schleife, mit dem Unterschied, 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, die von einer for...in
Schleife bereitgestellt wird.
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 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() bei Primitiven
Nicht-Objekt-Argumente werden zu Objekten gezwungen. undefined
und null
können nicht zu Objekten gemacht werden und werfen sofort einen TypeError
. 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 Language Specification # sec-object.values |
Browser-Kompatibilität
BCD tables only load in the browser