Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mendapatkan Nilai Unik dengan Cekap daripada Tatasusunan JavaScript, Termasuk Sifar?

Bagaimana untuk Mendapatkan Nilai Unik dengan Cekap daripada Tatasusunan JavaScript, Termasuk Sifar?

Susan Sarandon
Lepaskan: 2024-12-22 02:54:14
asal
918 orang telah melayarinya

How to Efficiently Retrieve Unique Values from a JavaScript Array, Including Zeroes?

Dapatkan Nilai Unik daripada Tatasusunan JavaScript

Dalam soalan ini, kami berhasrat untuk menghapuskan nilai pendua daripada tatasusunan JavaScript sambil memastikan integriti unsur sifar. Mari kita periksa coretan yang menghadapi isu semasa mengendalikan sifar:

Array.prototype.getUnique = function() {
  var o = {}, a = [], i, e;
  for (i = 0; e = this[i]; i++) { o[e] = 1 };
  for (e in o) { a.push(e); };
  return a;
};
Salin selepas log masuk

Coretan ini memanfaatkan paksaan sedia ada JavaScript, di mana nilai ditukar secara tersirat kepada nilai kebenaran atau palsu. Sifar ialah nilai palsu dalam JavaScript, dan kerana objek dalam JavaScript adalah benar secara lalai, ia akan ditambahkan pada objek semasa gelung awal. Akibatnya, ia kemudiannya ditolak ke dalam tatasusunan yang terhasil semasa gelung berikutnya.

Walau bagaimanapun, dalam JavaScript moden (ES5 dan lebih baru), kami mempunyai akses kepada kaedah yang lebih cekap dan boleh dipercayai untuk mencapai keunikan dalam tatasusunan:

Kaedah Penapis Asli:

Kaedah penapis membolehkan kami mengulangi unsur-unsur tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang melepasi fungsi ujian tertentu. Kita boleh mentakrifkan fungsi yang menyemak sama ada elemen adalah unik dalam tatasusunan dengan membandingkan indeksnya dengan kejadian pertama elemen yang sama:

function onlyUnique(value, index, array) {
  return array.indexOf(value) === index;
}

// Example usage:
const a = ['a', 1, 'a', 2, '1'];
const unique = a.filter(onlyUnique);

console.log(unique); // Logs: ['a', 1, 2, '1']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Unik dengan Cekap daripada Tatasusunan JavaScript, Termasuk Sifar?. 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