To convert an object to a Map
, you can use the Object.entries()
method. The Object.entries()
function takes an object as an argument and returns an array of key-value pairs.
You can then pass the result to the Map()
constructor to create a new Map
object:
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' }
The Object.entries()
converts an object into an array of key-value pairs that we pass to the Map()
constructor to a new map:
const user = {
name: 'John Doe',
age: 20,
job: 'Egineer'
}
const kvPairs = Object.entries(user)
console.log(kvPairs)
// [
// [ 'name', 'John Doe' ],
// [ 'age', 20 ],
// [ 'job', 'Engineer' ]
// ]
An alternate approach is to use the Array.forEach()
method to iterate over object keys and then 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' }
If you want to convert the Map
object back to an object, 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' }
Read this article to learn more about the Map
object and how to use it to create collections of key-value pairs in JavaScript.
✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.