สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ −
const arr = [
{id:123, value:"value1", name:"Name1"},
{id:124, value:"value2", name:"Name1"},
{id:125, value:"value3", name:"Name2"},
{id:126, value:"value4", name:"Name2"}
]; โปรดทราบว่าคุณสมบัติ "ชื่อ" บางอย่างในออบเจ็กต์ภายในอาร์เรย์นั้นซ้ำกัน
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของอ็อบเจ็กต์ดังกล่าว จากนั้นฟังก์ชันควรสร้างอาร์เรย์ใหม่ของสตริงที่มีเฉพาะค่าคุณสมบัติ "name" ที่ไม่ซ้ำกันจากอาร์เรย์
ดังนั้นเอาต์พุตของอินพุตด้านบนควรมีลักษณะดังนี้ −
const output = ["Name1", "Name2"];
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = [
{id:123, value:"value1", name:"Name1"},
{id:124, value:"value2", name:"Name1"},
{id:125, value:"value3", name:"Name2"},
{id:126, value:"value4", name:"Name2"}
];
const pickNames = (arr = []) =>{
const res = [];
for (let i = arr.length; i−−;){
if (res.indexOf(arr[i].name) < 0) {
res.push(arr[i].name);
};
}
return res;
};
console.log(pickNames(arr)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ 'Name2', 'Name1' ]