Menghapus Duplikat dari Array JavaScript

JavaScript

Memahami Keunikan Array di JavaScript

Dalam JavaScript, memastikan bahwa array hanya berisi nilai unik dapat menjadi hal yang penting untuk berbagai aplikasi. Meskipun ada beberapa cara untuk mencapai hal ini, metode tertentu mungkin gagal dalam kondisi tertentu, seperti adanya angka nol.

Pada artikel ini, kita akan memeriksa skrip prototipe untuk menghapus duplikat dari array. Kami akan mengidentifikasi masalah yang bernilai nol dan membandingkannya dengan solusi yang lebih andal. Dengan memahami perbedaan ini, Anda akan mempelajari cara menangani keunikan array dengan lebih efektif di JavaScript.

Memerintah Keterangan
new Set() Membuat objek Set, yang memungkinkan Anda menyimpan nilai unik jenis apa pun.
[...new Set(array)] Menggunakan operator spread untuk mengubah Set kembali menjadi array nilai unik.
Array.prototype.getUnique Mendefinisikan metode baru pada prototipe Array untuk mengekstrak nilai unik dari array.
uniqueElements[this[i]] = this[i] Menyimpan setiap elemen sebagai kunci dalam suatu objek untuk memastikan keunikan.
for (let key in uniqueElements) Ulangi kunci objek UniqueElements untuk membuat larik hasil.
const uniqueElements = {} Menginisialisasi objek kosong untuk menyimpan elemen unik sebagai kunci.

Cara Menghapus Duplikat di Array JavaScript

Script pertama yang kami sajikan menggunakan objek dalam JavaScript untuk memastikan keunikan array. A adalah kumpulan nilai yang setiap nilainya harus unik. Dengan meneruskan array ke a , kami secara otomatis memfilter nilai duplikat. Untuk mengonversi Set kembali ke array, kami menggunakan operator spread . Metode ini ringkas dan memanfaatkan fungsionalitas bawaan JavaScript untuk mencapai hasil yang diinginkan secara efisien.

Misalnya, jika Anda memiliki array dengan angka duplikat, termasuk nol, seperti , fungsinya akan mengembalikan array dengan hanya nilai unik: . Metode ini mudah dan menangani semua jenis elemen, termasuk nol, tanpa masalah apa pun.

Metode Kustom untuk Memastikan Nilai Array Unik

Skrip kedua mendefinisikan metode khusus di ditelepon . Metode ini menggunakan objek untuk melacak elemen unik. Di dalam metode ini, pertama-tama kita menginisialisasi objek kosong dan array kosong const resultArray = []. Kami kemudian mengulangi array menggunakan a loop, menyimpan setiap elemen sebagai kunci di objek untuk memastikan semua kunci unik.

Setelah mengisi objek, kami menggunakan yang lain loop untuk mengulangi kunci objek dan memasukkan setiap kunci unik ke dalam . Akhirnya, metode ini kembali resultArray, yang hanya berisi nilai unik. Metode ini sangat bermanfaat karena menunjukkan cara mengelola dan menerapkan keunikan secara manual tanpa hanya mengandalkan fungsi bawaan, sehingga memberikan pemahaman lebih dalam tentang penanganan struktur data di JavaScript.

Memastikan Nilai Unik dalam Array JavaScript

Metode JavaScript Menggunakan Set

function getUniqueValues(array) {
  return [...new Set(array)];
}

// Example usage:
const numbers = [1, 2, 2, 3, 4, 4, 5, 0, 0];
const uniqueNumbers = getUniqueValues(numbers);
console.log(uniqueNumbers);

Menghapus Duplikat dalam Array dengan Fungsi Kustom

Metode Prototipe Kustom JavaScript

Array.prototype.getUnique = function() {
  const uniqueElements = {};
  const resultArray = [];
  for (let i = 0; i < this.length; i++) {
    uniqueElements[this[i]] = this[i];
  }
  for (let key in uniqueElements) {
    resultArray.push(uniqueElements[key]);
  }
  return resultArray;
};

// Example usage:
const numbers = [1, 2, 2, 3, 4, 4, 5, 0, 0];
const uniqueNumbers = numbers.getUnique();
console.log(uniqueNumbers);

Pelajari Lebih Dalam Teknik Deduplikasi Array

Teknik penting lainnya untuk menghapus duplikat dari array di JavaScript adalah penggunaan metode yang dikombinasikan dengan metode. Metode ini melibatkan perulangan pada array dan hanya menyertakan elemen yang kemunculan pertamanya cocok dengan posisinya saat ini. Hal ini memastikan bahwa setiap elemen disertakan hanya sekali dalam array yang dihasilkan, sehingga secara efektif menghilangkan duplikat.

Misalnya, pertimbangkan sebuah array . Dengan menggunakan , Anda dapat memfilter nilai duplikat. Pendekatan ini bekerja dengan memeriksa apakah indeks elemen saat ini sama dengan indeks kemunculan pertama elemen tersebut. Jika ya, elemen tersebut unik dan disertakan dalam array baru.

  1. Apa cara paling efisien untuk menghapus duplikat dari array?
  2. Menggunakan sebuah adalah salah satu cara paling efisien karena memiliki kompleksitas waktu O(n).
  3. Bisakah saya menggunakan metode untuk menghapus duplikat?
  4. Ya, menggabungkan dengan adalah pendekatan umum untuk menghapus duplikat.
  5. Mengapa metode gagal dengan nol?
  6. Skrip asli gagal dengan nol karena berhenti di nol, menafsirkannya sebagai salah.
  7. Bagaimana saya bisa menangani tipe data yang berbeda dalam array untuk keunikan?
  8. Menggunakan sebuah menangani tipe data yang berbeda secara efisien dengan memastikan setiap nilai unik.
  9. Apa manfaat menggunakan dibandingkan metode lain?
  10. ringkas dan menangani semua jenis nilai tanpa memerlukan logika tambahan.
  11. Bisakah saya menambahkan metode unik ke semua array?
  12. Ya, dengan menambahkan metode ke , Anda dapat membuatnya tersedia untuk semua array.
  13. Apa kerugian dari memodifikasi ?
  14. Memodifikasi dapat menimbulkan konflik jika skrip lain juga memodifikasinya.
  15. Apakah ada cara untuk memastikan keunikan tanpa mengubah susunan aslinya?
  16. Ya, metode seperti Dan buat array baru, pertahankan yang asli.

Dengan memahami berbagai teknik untuk menghapus duplikat dari array, Anda dapat memilih metode yang paling sesuai untuk kasus penggunaan spesifik Anda. Apakah menggunakan untuk kesederhanaan dan efisiensi atau metode khusus untuk pemahaman yang lebih dalam, menguasai pendekatan ini akan meningkatkan keterampilan JavaScript Anda. Menangani kasus khusus, seperti nilai nol, akan memastikan solusi Anda kokoh.