Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengeluarkan Objek Pendua dengan Cekap dari Array dalam JavaScript?

Bagaimana untuk Mengeluarkan Objek Pendua dengan Cekap dari Array dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-19 06:10:54
asal
677 orang telah melayarinya

How to Efficiently Remove Duplicate Objects from an Array in JavaScript?

Cara Mengalih Keluar Objek Pendua daripada Tatasusunan

Apabila bekerja dengan tatasusunan objek, selalunya perlu mengalih keluar pendua. Kaedah penapis ES6 menyediakan penyelesaian yang elegan untuk tugasan ini.

ES6 Magic

obj.arr = obj.arr.filter((nilai, indeks, diri ) =>
indeks === self.findIndex((t) => (

t.place === value.place && t.name === value.name
Salin selepas log masuk

))
)

Kod ini membandingkan setiap elemen dalam tatasusunan dengan semua elemen seterusnya. Jika pendua ditemui, ia ditapis keluar.

Penyelesaian Generik

Untuk pendekatan yang lebih generik:

const uniqueArray = obj. arr.filter((nilai, indeks) => {
const _value = JSON.stringify(value);
return index === obj.arr.findIndex(obj => {

return JSON.stringify(obj) === _value;
Salin selepas log masuk

});
});

Strategi ini menyerikan setiap objek kepada rentetan dan membandingkan rentetan untuk mengenal pasti pendua.

Perbandingan Berasaskan Harta

Menggunakan strategi harta:

const getUniqueItemsByProperties = (item, propNames) =>
items.filter((item, index, array) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNames))
Salin selepas log masuk

);

Pendekatan ini memberikan fleksibiliti dalam menentukan sifat yang keunikan ditentukan .

Harta Berbalut Strategi

Untuk membenarkan kedua-dua tatasusunan dan nama sifat tunggal:

const getUniqueItemsByProperties = (item, propNames) => {
const propNamesArray = Array.from(propNames);

kembali item.penapis((item, indeks, tatasusunan) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNamesArray))
Salin selepas log masuk

);
};

Penjelasan

Idea utama di sini ialah menggunakan kaedah penapis untuk mengenal pasti pendua. Kriteria keunikan ditentukan oleh logik perbandingan, yang boleh disesuaikan berdasarkan sifat objek atau strategi bersiri.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Objek Pendua dengan Cekap dari Array dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan