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

แปลงอาร์เรย์ 2D เป็นวัตถุโดยใช้แผนที่หรือลดขนาดใน JavaScript


สมมติว่าเรามีอาร์เรย์สองมิติที่มีข้อมูลอายุของคนบางคน

ข้อมูลได้รับจากอาร์เรย์ 2 มิติต่อไปนี้

const data = [
   ['Rahul',23],
   ['Vikky',27],
   ['Sanjay',29],
   ['Jay',19],
   ['Dinesh',21],
   ['Sandeep',45],
   ['Umesh',32],
   ['Rohit',28],
];

เราจำเป็นต้องเขียนฟังก์ชันที่รับอาร์เรย์ข้อมูล 2 มิตินี้และส่งคืนอ็อบเจ็กต์ withkey เป็นองค์ประกอบแรกของแต่ละอาร์เรย์ย่อย เช่น สตริงและค่าเป็นองค์ประกอบที่สอง

เราจะใช้เมธอด Array.prototype.reduce() เพื่อสร้างอ็อบเจกต์นี้ และโค้ดสำหรับทำสิ่งนี้จะเป็น -

ตัวอย่าง

const data = [
   ['Rahul',23],
   ['Vikky',27],
   ['Sanjay',29],
   ['Jay',19],
   ['Dinesh',21],
   ['Sandeep',45],
   ['Umesh',32],
   ['Rohit',28],
];
const constructObject = arr => {
   return arr.reduce((acc, val) => {
      const [key, value] = val;
      acc[key] = value;
      return acc;
   }, {});
};
console.log(constructObject(data));

ผลลัพธ์

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

{
   Rahul: 23,
   Vikky: 27,
   Sanjay: 29,
   Jay: 19,
   Dinesh: 21,
   Sandeep: 45,
   Umesh: 32,
   Rohit: 28
}