In JavaScript, Object.values
and Object.entries
are methods introduced in ECMAScript 2017 (ES8) that provide convenient ways to extract values and key-value pairs from objects, respectively.
Object.values
The Object.values
method returns an array containing the values of the enumerable properties of an object. Here's an example:
const myObject = { a: 1, b: 2, c: 3 };
const valuesArray = Object.values(myObject);
console.log(valuesArray);
// Output: [1, 2, 3]
Object.entries
The Object.entries
method returns an array containing the key-value pairs (as arrays) of the enumerable properties of an object. Each subarray has two elements: the key and its corresponding value.
const myObject = { a: 1, b: 2, c: 3 };
const entriesArray = Object.entries(myObject);
console.log(entriesArray);
// Output: [['a', 1], ['b', 2], ['c', 3]]
These methods are particularly useful when you need to iterate over the properties of an object or when you want to convert an object's properties into an array for further processing.
Example: Iterating Over Object Properties
const myObject = { a: 1, b: 2, c: 3 };
// Using Object.entries for key-value iteration
for (const [key, value] of Object.entries(myObject)) {
console.log(`${key}: ${value}`);
}
// Output:
// a: 1
// b: 2
// c: 3
Example:
const person = {
firstName: 'John',
lastName: 'Doe',
age: 30
};
const values = Object.values(person);
console.log(values); // Output: ['John', 'Doe', 30]
const entries = Object.entries(person);
console.log(entries);
// Output: [['firstName', 'John'], ['lastName', 'Doe'], ['age', 30]]
These methods are supported in modern environments, and if you are working in an environment that doesn't support them, consider using polyfills or transpilers like Babel to ensure compatibility.