ฉันมีอาร์เรย์ของวัตถุที่มีลักษณะเช่นนี้:
var array = [
{id:123, value:"value1", name:"Name1"},
{id:124, value:"value2", name:"Name1"},
{id:125, value:"value3", name:"Name2"},
{id:126, value:"value4", name:"Name2"}
...
];
อย่างที่คุณเห็นบางชื่อซ้ำกัน ฉันต้องการรับอาร์เรย์ใหม่ที่มีชื่อเท่านั้น แต่ถ้าบางชื่อซ้ำฉันไม่ต้องการเพิ่มอีก ฉันต้องการอาร์เรย์นี้:
var newArray = ["Name1", "Name2"];
ฉันกำลังพยายามทำสิ่งนี้กับmap:
var newArray = array.map((a) => {
return a.name;
});
แต่ปัญหาคือสิ่งนี้ส่งกลับ:
newArray = ["Name1", "Name1", "Name2", "Name2"];
ฉันจะตั้งเงื่อนไขบางอย่างภายในได้mapอย่างไรจึงจะไม่ส่งคืนองค์ประกอบที่มีอยู่แล้ว ฉันต้องการทำสิ่งนี้ด้วยmapหรือคุณลักษณะ ECMAScript 5 หรือ ECMAScript 6 อื่น ๆ