How to use the reduce() method In Javascript
The Array.reduce() method can be used to reduce an array of objects to a JavaScript map by passing the initial value as a empty map and setting the properties using the map set() method to the initial empty map.
Syntax:
arrayName.reduce((map, obj)=>{}, emptyMap);
Example: The below code uses the reduce() method to convert an array of objects to a JavaScript map.
const objectsArray =
[
{
type: "Company",
name: "w3wiki"
},
{
type: "Cricketer",
name: "Virat Kohli"
}
];
console.log
("Array of objects is: ", objectsArray);
const createdMap = new Map();
objectsArray.reduce((map, obj) => {
map.set(obj.type, obj.name);
return map;
}, createdMap);
console.log("Created Map: ", createdMap);
Output
Array of objects is: [ { type: 'Company', name: 'w3wiki' }, { type: 'Cricketer', name: 'Virat Kohli' } ] Created Map: Map(2) { 'Company' => 'w3wiki', 'Cricketer' => 'Virat Kohli' }...
How to Convert an Array of Objects to a Map in JavaScript ?
An array of objects can contain multiple objects with the same properties i.e. key-value pairs. But a map does not contain duplicate values which means if you convert an array of objects with duplicate objects into a map, it will contain only the unique key-value pairs.
Example:
Input Array:
[
{ type: 'Company', name: 'w3wiki' },
{ type: 'Cricketer', name: 'Virat Kohli' },
{ type: 'Cricketer', name: 'Virat Kohli' }
]
Output Map: Map(2)
{
'Company' => 'w3wiki',
'Cricketer' => 'Virat Kohli'
}
The below approaches can be used to convert an array of objects to a map in JavaScript:
Table of Content
- Using the map() method
- Using the reduce() method
- Using the forEach() method
- Using the Object.enteries() method
- Using the for-of loop
- Using the findIndex() Method