Online Compiler logoOnline Compiler

JavaScript Tutorial

JavaScript Object.values()

Object.values returns an array of an object's own enumerable values.

It is useful for totals, filters, and aggregations.

Why We Need It

Sometimes you do not need keys, only the data itself.

Object.values makes it easy to work with those values.

Syntax

Object.values(obj)

Basic Example

1. Basic values

const user = { name: "Ava", role: "admin" };
const values = Object.values(user);

console.log(values);

Returns ['Ava', 'admin'].

Real World Example

2. Sum numeric values

const scores = { a: 10, b: 20, c: 5 };
const total = Object.values(scores).reduce((sum, n) => sum + n, 0);

console.log(total);

Combine Object.values with reduce.

Multiple Use Cases

List Values

Object.values returns an array of an object's own enumerable values.

It is useful when you only care about values, not keys.

Pairs with keys and entries

Use Object.keys for keys and Object.entries for key-value pairs.

Together they provide full object inspection.

Arrays

Object.values on arrays returns the values in order.

This is similar to using the array directly.

More Examples

3. Array values

const items = ["a", "b"];
console.log(Object.values(items));

Values match array elements.

4. Filter values

const data = { a: 1, b: 0, c: 3 };
const nonZero = Object.values(data).filter((n) => n > 0);

console.log(nonZero);

Filter values directly.

Comparison

Without

const values = [];
for (const key in obj) {
  if (Object.hasOwn(obj, key)) values.push(obj[key]);
}

With

const values = Object.values(obj);

Common Mistakes and Fixes

Expecting keys

Use Object.keys when you need keys.

Assuming order matters

Do not rely on property order for logic.

Using values for nested objects

Values may be objects; handle them appropriately.

Interview Questions

What does Object.values return?

An array of own enumerable values.

Does it include inherited values?

No.

When would you use it?

When you only need the values, not keys.

Practice Problem

Practice: Sum the values of an object using Object.values.

const scores = { a: 5, b: 7, c: 3 };
// TODO: sum values

One Possible Solution

const scores = { a: 5, b: 7, c: 3 };
const total = Object.values(scores).reduce((s, n) => s + n, 0);
console.log(total);

Frequently Asked Questions

What does Object.values return?

An array of own enumerable values.

Does it include inherited values?

No, only own properties.

Can I use it with arrays?

Yes, it returns array values.

Try It Yourself

Try adding values and see how the array changes.