Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

แปลง Object เป็น Map - JavaScript

แปลง 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

คุณสมบัติObjectMap
Key typeString/Symbol เท่านั้นType ใดๆ ก็ได้
Orderไม่รับประกัน (ES2015+ เรียง)รักษาลำดับการ insert
Sizeต้องนับเองมี .size property
Iterationfor...in / Object.keysfor...of / forEach
Performanceเพิ่ม/ลบช้าเพิ่ม/ลบ/ค้นหาเร็ว