Convert object to a Map - JavaScript

In JavaScript, you can convert an object to a Map using several approaches. Maps offer better performance for frequent additions and deletions compared to objects.

Sample Object

Let's start with this example object:

const obj = {
    name: "Vikas",
    age: 45,
    occupation: "Frontend Developer",
    address: "Tilak Nagar, New Delhi",
    experience: 23,
    salary: "98000"
};

Method 1: Using Object.entries() (Recommended)

The most concise approach uses Object.entries() which returns key-value pairs as arrays:

const obj = {
    name: "Vikas",
    age: 45,
    occupation: "Frontend Developer",
    address: "Tilak Nagar, New Delhi",
    experience: 23,
    salary: "98000"
};

const objectToMap = (obj) => {
    return new Map(Object.entries(obj));
};

console.log(objectToMap(obj));
Map(6) {
  'name' => 'Vikas',
  'age' => 45,
  'occupation' => 'Frontend Developer',
  'address' => 'Tilak Nagar, New Delhi',
  'experience' => 23,
  'salary' => '98000'
}

Method 2: Using Object.keys() and Loop

This approach manually iterates through object keys:

const objectToMapLoop = (obj) => {
    const keys = Object.keys(obj);
    const map = new Map();
    for (let i = 0; i 

Map(6) {
  'name' => 'Vikas',
  'age' => 45,
  'occupation' => 'Frontend Developer',
  'address' => 'Tilak Nagar, New Delhi',
  'experience' => 23,
  'salary' => '98000'
}

Method 3: Using for...in Loop

Alternative approach using for...in to iterate through object properties:

const objectToMapForIn = (obj) => {
    const map = new Map();
    for (const key in obj) {
        if (obj.hasOwnProperty(key)) {
            map.set(key, obj[key]);
        }
    }
    return map;
};

console.log(objectToMapForIn(obj));
Map(6) {
  'name' => 'Vikas',
  'age' => 45,
  'occupation' => 'Frontend Developer',
  'address' => 'Tilak Nagar, New Delhi',
  'experience' => 23,
  'salary' => '98000'
}

Comparison

Method Code Length Performance Readability
Object.entries() Shortest Fast Excellent
Object.keys() + loop Medium Good Good
for...in loop Longest Good Fair

Key Differences: Object vs Map

const map = new Map(Object.entries(obj));

console.log("Map size:", map.size);
console.log("Has 'name' key:", map.has('name'));
console.log("Get 'age' value:", map.get('age'));

// Maps preserve insertion order
for (const [key, value] of map) {
    console.log(`${key}: ${value}`);
}
Map size: 6
Has 'name' key: true
Get 'age' value: 45
name: Vikas
age: 45
occupation: Frontend Developer
address: Tilak Nagar, New Delhi
experience: 23
salary: 98000

Conclusion

Use new Map(Object.entries(obj)) for the most concise object-to-Map conversion. Maps provide better performance for frequent key operations and guarantee insertion order preservation.

Updated on: 2026-03-15T23:18:59+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements