สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ −
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' ]