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
Patricia Arquetteasal
2024-12-19 06:10:54683semak imbas

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

))
)

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;

});
});

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))

);

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))

);
};

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!

Kenyataan:
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