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

ลบออบเจ็กต์ซ้ำจากอาร์เรย์ใน JavaScript

สมมติเรามีอาร์เรย์ของออบเจ็กต์แบบนี้:

const arr = [ {"title": "Assistant"}, {"month": "July"}, {"event": "Holiday"}, {"title": "Assistant"} ];

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์แบบนี้ ฟังก์ชันควรคืนค่าอาร์เรย์ใหม่ที่มีออบเจ็กต์ทั้งหมดจากอาร์เรย์ต้นฉบับแต่อย่างที่ซ้ำ

ตัวอย่าง

โค้ดสำหรับนี้:

const arr = [ {"title": "Assistant"}, {"month": "July"}, {"event": "Holiday"}, {"title": "Assistant"} ]; const removeDuplicate = arr => { const map = {}; for(let i = 0; i < arr.length; ){ const str = JSON.stringify(arr[i]); if(map.hasOwnProperty(str)){ arr.splice(i, 1); continue; }; map[str] = true; i++; }; }; removeDuplicate(arr); console.log(arr);

ผลลัพธ์

ผลลัพธ์ในคอนโซล:

[ { title: 'Assistant' }, { month: 'July' }, { event: 'Holiday' } ]