To convert an object to a Map in JavaScript, you can use the Object.entries() method to get an array of key-value pairs from the object, and then create a new Map object using the Map constructor and the obtained array.
Here's an example of how you can convert an object to a Map using Object.entries():
const user = {
name: 'John Doe',
age: 20,
job: 'Engineer'
}
const kvPairs = Object.entries(user)
const map = new Map(kvPairs)
console.log(map)
// Map(3) { 'name' => 'John Doe', 'age' => 20, 'job' => 'Engineer' }
In this example, Object.entries(user) returns an array of key-value pairs from the user object, which is then used to create a new Map object using the Map constructor.
Alternatively, you can use the Array.forEach() method to iterate over the object keys and add each key-value pair to the Map using the Map.set() method:
const user = {
name: 'John Doe',
age: 20,
job: 'Engineer'
}
const map = new Map()
Object.keys(user).forEach(key => {
map.set(key, user[key])
})
console.log(map)
// Map(3) { 'name' => 'John Doe', 'age' => 20, 'job' => 'Engineer' }
In this example, Object.keys(user) returns an array of keys from the user object. We then iterate over these keys using forEach() and use the Map.set() method to add each key-value pair to the map object.
If you want to convert the Map object back to an object, you can use the Object.fromEntries() method:
const map = new Map([
['name', 'John Doe'],
['age', 20],
['job', 'Engineer']
])
const user = Object.fromEntries(map)
console.log(user)
// { name: 'John Doe', age: 20, job: 'Engineer' }
The Object.fromEntries() method takes an iterable of key-value pairs, such as an array, and returns a new object with the key-value pairs.
To learn more about the Map object and how to create collections of key-value pairs in JavaScript, you can refer to this article.
✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.