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.
TheObject.values() static method returns an array of a given object's own enumerable string-keyed property values.
In this article
Try it
const object = { a: "some string", b: 42, c: false,};console.log(Object.values(object));// Expected output: Array ["some string", 42, false]Syntax
Object.values(obj)Parameters
objAn object.
Return value
An array containing the given object's own enumerable string-keyed property values.
Description
Object.values() returns an array whose elements are values of enumerable string-keyed properties found directly uponobject. This is the same as iterating with afor...in loop, except that afor...in loop enumerates properties in the prototype chain as well. The order of the array returned byObject.values() is the same as that provided by afor...in loop.
If you need the property keys, useObject.keys() instead. If you need both the property keys and values, useObject.entries() instead.
Examples
>Using Object.values()
const obj = { foo: "bar", baz: 42 };console.log(Object.values(obj)); // ['bar', 42]// Array-like objectconst 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 orderconst arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']// getFoo is a non-enumerable propertyconst myObj = Object.create( {}, { getFoo: { value() { return this.foo; }, }, },);myObj.foo = "bar";console.log(Object.values(myObj)); // ['bar']Using Object.values() on primitives
Non-object arguments arecoerced to objects.undefined andnull cannot be coerced to objects and throw aTypeError upfront. Only strings may have own enumerable properties, while all other primitives return an empty array.
// Strings have indices as enumerable own propertiesconsole.log(Object.values("foo")); // ['f', 'o', 'o']// Other primitives except undefined and null have no own propertiesconsole.log(Object.values(100)); // []Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.values> |