কম্পিউটার টিউটোরিয়াল

অবজেক্টকে Map-এ রূপান্তর - JavaScript

JavaScript-এ একটি সাদা অবজেক্টকে Map অবজেক্টে রূপান্তর করার পদ্ধতি।

কেন Map ব্যবহার করবেন?

  • কী হিসেবে যেকোনো টাইপ ব্যবহার করা যায় (না কেবল স্ট্রিং)
  • অর্ডার সংরক্ষিত থাকে (ইনসারশন অর্ডার)
  • সাইজ প্রোপার্টি আছে (.size)
  • ইটারেবল এবং ফরঅফ লুপে কাজ করে
  • পারফরম্যান্স বেস্ট ফরিকুয়েন্ট অ্যাড/ডিলিটের জন্য

সমাধান

const objectToMap = (obj) => {
  const map = new Map();
  
  for (const key of Object.keys(obj)) {
    map.set(key, obj[key]);
  }
  
  return map;
};

// আরও সংক্ষিপ্ত (ES6+)
const objectToMapShort = (obj) => new Map(Object.entries(obj));

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

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

// Map অপারেশন
console.log(myMap.get('name'));     // "Vikas"
console.log(myMap.has('age'));      // true
console.log(myMap.size);            // 6
myMap.set('newKey', 'newValue');    // যোগ করা
myMap.delete('salary');             // মুছে ফেলা

Map vs Object

ফিচার Object Map
কী টাইপ স্ট্রিং/সিম্বল যেকোনো টাইপ
অর্ডার গ্যারান্টি নেই (ES2015+ এ есть) ইনসারশন অর্ডার
সাইজ Object.keys().length .size প্রোপার্টি
ইটারেশন for...in / Object.entries for...of / forEach

উৎপাদন

Map(6) { 
  'name' => 'Vikas', 
  'age' => 45, 
  'occupation' => 'Frontend Developer', 
  'address' => 'Tilak Nagar, New Delhi', 
  'experience' => 23, 
  'salary' => '98000' 
}
  1. জাভাস্ক্রিপ্টে Object.keys().map() VS Array.map()

  2. স্ট্রিংকে জাভাস্ক্রিপ্ট অবজেক্টে রূপান্তর করা

  3. জাভাস্ক্রিপ্টে RegExp অবজেক্ট

  4. জাভাস্ক্রিপ্টে অবজেক্ট ইলিশিয়ালাইজার