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

กำหนดค่าให้ Computed Property ใน JavaScript ด้วย slice() และ map()

ดึง property เฉพาะบางส่วนจากอาร์เรย์ออบเจกต์และแปลงรูปแบบ

ใช้ slice() ตัดอาร์เรย์ concat() รวม แล้ว map() สร้างโครงสร้างใหม่

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

const customerDetails = [
  { customerFirstName: "David" },
  { customerLastName: "Miller" },
  { customerCountryName: "US" },
  { customerAge: "29" },
  { isMarried: false },
  { customerCollegeName: null }
];

// ตัด index 2-3 (countryName, age) + index 5 (collegeName)
const newCustomerDetails = customerDetails
  .slice(2, 4)
  .concat(customerDetails[5])
  .map(obj => ({
    propertyKey: Object.keys(obj)[0],
    propertyValue: Object.values(obj)[0]
  }));

console.log(newCustomerDetails);

วิธีรัน

node fileName.js

ผลลัพธ์

[
  { propertyKey: 'customerCountryName', propertyValue: 'US' },
  { propertyKey: 'customerAge', propertyValue: '29' },
  { propertyKey: 'customerCollegeName', propertyValue: null }
]

คำอธิบาย

  • slice(2,4): ดึง index 2, 3 (countryName, age)
  • concat(customerDetails[5]): เพิ่ม index 5 (collegeName)
  • Object.keys(obj)[0]: ดึง key แรกของออบเจกต์
  • Object.values(obj)[0]: ดึง value แรกของออบเจกต์
  • สร้างโครงสร้างใหม่ { propertyKey, propertyValue }