Untuk menghapus nilai duplikat dari suatu objek di JavaScript,
kitaperlumengidentifikasidanmenghapusnilaiyangdoubledengan
mempertahankan nilai pertama dari setiap data yang unik.
Berikut adalah pendekatan langkah demi langkah untuk mengatasi ini:
Â
- Buat objek baru untuk menyimpan nilai unik.
- Gunakan Set untuk melacak nilai-nilai yang telah ditemui.
- Ulangi objek asli dan tambahkan setiap pasangan nilai kunci ke objek baru, hanya jika nilainya belum pernah ditemukan sebelumnya.
function removeDuplicatesByValue(obj) { const uniqueValues = new Set(); const result = {}; for (let key in obj) { if (obj.hasOwnProperty(key)) { if (!uniqueValues.has(obj[key])) { uniqueValues.add(obj[key]); result[key] = obj[key]; } } } return result; } // Example usage: const obj = { a: 1, b: 2, c: 3, d: 2, e: 3, f: 4 }; const uniqueObj = removeDuplicatesByValue(obj); console.log(uniqueObj); // Output: { a: 1, b: 2, c: 3, f: 4 }
Penjelasan:
- `UniqueValues`: Set digunakan untuk melacak nilai-nilai yang telah dilihat sejauh ini.
- `result`: Ini adalah objek baru yang hanya berisi nilai unik.
- `for (let key in obj)`: Ulangi setiap kunci di objek asli.
- `obj.hasOwnProperty(key)`: Pastikan kunci adalah properti langsung dari objek, bukan bawaan.
- `if (!uniqueValues.has(obj[key]))`: Cek apakah nilainya belum ditemukan.
- `UniqueValues.add(obj[key])`: Tambahkan nilai unik baru ke set.
- `result[key] = obj[key]`: Tambahkan pasangan kunci-nilai ke objek hasil jika nilainya unik.
Fungsi ini secara efektif menghilangkan data yang duplikat dari objek asli dan hanya mempertahankan data pertama dari setiap data yang unik.
Related
Share via: