সাদা JavaScript অবজেক্টকে Map অবজেক্টে রূপান্তর করা।
সমাধান
const objectToMap = (obj) => {
return new Map(Object.entries(obj));
};
// ম্যানুয়াল (লিগ্যাসি)
const objectToMapManual = (obj) => {
const map = new Map();
for (const key of Object.keys(obj)) {
map.set(key, obj[key]);
}
return map;
};
// টেস্ট
const obj = {
name: "Jai",
age: 32,
occupation: "Software Engineer",
address: "Dhindosh, Maharasthra",
salary: "146000"
};
const myMap = objectToMap(obj);
console.log(myMap);
// Map(5) {
// 'name' => 'Jai',
// 'age' => 32,
// 'occupation' => 'Software Engineer',
// 'address' => 'Dhindosh, Maharasthra',
// 'salary' => '146000'
// }
// Map অপারেশন
console.log(myMap.get('name')); // "Jai"
console.log(myMap.size); // 5
myMap.set('city', 'Mumbai'); // যোগ
myMap.delete('salary'); // মুছে ফেলা
Map-এর সুবিধা Object-এর চেয়ে
| ফিচার | Object | Map |
|---|---|---|
| কী টাইপ | String/Symbol | Any (object, function, etc.) |
| অর্ডার | Insertion order (ES2015+) | Insertion order (গ্যারান্টি) |
| সাইজ | Object.keys(obj).length | map.size (O(1)) |
| ইটারেশন | for...in, Object.entries | for...of, forEach, entries() |
| JSON | Native support | Custom serializer দরকার |
উৎপাদন
Map(5) {
'name' => 'Jai',
'age' => 32,
'occupation' => 'Software Engineer',
'address' => 'Dhindosh, Maharasthra',
'salary' => '146000'
}