Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การแปลงอาร์เรย์ของวัตถุเป็นวัตถุของวัตถุใน JavaScript


สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -

const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าวและส่งคืนอ็อบเจ็กต์ของอ็อบเจ็กต์โดยที่คีย์ของแต่ละอ็อบเจ็กต์ควรเป็นคุณสมบัติ id

ดังนั้นผลลัพธ์ควรมีลักษณะเช่นนี้ −

const output = {1:{name:"aa"},2:{name:"bb"},3:{name:"cc"}};

โปรดสังเกตว่าคุณสมบัติ id ถูกใช้เพื่อแมปวัตถุย่อยจะถูกลบออกจากวัตถุย่อยด้วยตัวมันเอง

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];
const arrayToObject = arr => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      const key = arr[i]['id'];
      res[key] = arr[i];
      delete res[key]['id'];
   };
   return res;
};
console.log(arrayToObject(arr));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

{ '1': { name: 'aa' }, '2': { name: 'bb' }, '3': { name: 'cc' } }