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

การสร้างอาร์เรย์ของอ็อบเจ็กต์จากอีกอาร์เรย์ของอ็อบเจ็กต์ใน JavaScript


ภาพรวม

สมมติว่าเรามีอาร์เรย์ของอ็อบเจ็กต์ข้อมูลการกดไลก์ของผู้ใช้:

const arr = [
  {"user":"dan","liked":"yes","age":"22"},
  {"user":"sarah","liked":"no","age":"21"},
  {"user":"john","liked":"yes","age":"23"}
];

เราต้องเขียนฟังก์ชันสร้างอาร์เรย์ใหม่จากอาร์เรย์นี้ โดยแปลงแต่ละอ็อบเจ็กต์เป็นคู่ key-value จาก user และ liked

ผลลัพธ์ที่คาดหวัง

const output = [
  {"dan":"yes"},
  {"sarah":"no"},
  {"john":"yes"}
];

ตัวอย่างโค้ด

const arr = [
  {"user":"dan","liked":"yes","age":"22"},
  {"user":"sarah","liked":"no","age":"21"},
  {"user":"john","liked":"yes","age":"23"}
];

const mapToPair = (arr = []) => {
  const result = arr.map(obj => {
    const res = {};
    res[obj['user']] = obj['liked'];
    return res;
  });
  return result;
};

console.log(mapToPair(arr));

ผลลัพธ์ในคอนโซล

[ { dan: 'yes' }, { sarah: 'no' }, { john: 'yes' } ]