ดึง 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 }