แปลง Object ธรรมดาให้กลายเป็น Map object ซึ่งมีประสิทธิภาพดีกว่าสำหรับการเพิ่ม/ลบ/ค้นหาข้อมูลบ่อยๆ
ตัวอย่างโค้ด
const obj = {
name: 'Vikas',
age: 45,
occupation: 'Frontend Developer',
address: 'Tilak Nagar, New Delhi',
experience: 23,
salary: '98000'
};
const objectToMap = obj => {
const map = new Map();
for (const key of Object.keys(obj)) {
map.set(key, obj[key]);
}
return map;
};
console.log(objectToMap(obj));
ผลลัพธ์
Map(6) {
'name' => 'Vikas',
'age' => 45,
'occupation' => 'Frontend Developer',
'address' => 'Tilak Nagar, New Delhi',
'experience' => 23,
'salary' => '98000'
}
วิธีแบบ ES6+ (สั้นที่สุด)
const objectToMap = obj => new Map(Object.entries(obj));
Map vs Object
| คุณสมบัติ | Object | Map |
|---|---|---|
| Key type | String/Symbol เท่านั้น | Type ใดๆ ก็ได้ |
| Order | ไม่รับประกัน (ES2015+ เรียง) | รักษาลำดับการ insert |
| Size | ต้องนับเอง | มี .size property |
| Iteration | for...in / Object.keys | for...of / forEach |
| Performance | เพิ่ม/ลบช้า | เพิ่ม/ลบ/ค้นหาเร็ว |