Rumah >hujung hadapan web >tutorial js >Apakah Cara Paling Cekap untuk Semak sama ada Item Wujud dalam Tatasusunan JavaScript?

Apakah Cara Paling Cekap untuk Semak sama ada Item Wujud dalam Tatasusunan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-05 15:04:10469semak imbas

What's the Most Efficient Way to Check if an Item Exists in a JavaScript Array?

Cara Terbaik untuk Mencari Item dalam Tatasusunan JavaScript

Menentukan sama ada objek wujud dalam tatasusunan ialah tugas biasa dalam JavaScript. Berikut ialah cara paling berkesan untuk mencapai matlamat ini:

1. Kaedah Array.includes() (ES2016)

Jika anda menggunakan penyemak imbas moden yang menyokong ECMAScript 2016, kaedah Array.includes() asli ialah penyelesaian pilihan. Ia memerlukan item untuk dicari sebagai hujah dan mengembalikan boolean yang menunjukkan kehadirannya.

arr.includes(obj);

2. Kaedah Array.indexOf()

Kaedah Array.indexOf() mengembalikan indeks pertama item yang dicari jika wujud, atau -1 jika tidak ditemui. Untuk menyemak kewujudan, anda boleh membandingkan nilai pulangan kepada -1:

function include(arr, obj) {
    return (arr.indexOf(obj) != -1);
}

3. Pelaksanaan Tersuai untuk Penyemak Imbas Lama

Jika anda perlu menyokong penyemak imbas lama yang tidak mempunyai Array.includes() atau Array.indexOf(), anda boleh menentukan pelaksanaan anda sendiri:

ECMAScript 262 Mozilla Pelaksanaan:

if (!Array.prototype.indexOf) {
    // Add the indexOf method to Array.prototype
}

Pelaksanaan Daniel James:

if (!Array.prototype.indexOf) {
    // Add the indexOf method to Array.prototype
    // with handling for a negative fromIndex
}

Pelaksanaan Array.hasObject() roosteronacid:

Array.prototype.hasObject = function (o) {
    // Add the hasObject method to Array.prototype
    // which returns true if o is found, false if not
};

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Semak sama ada Item Wujud dalam Tatasusunan 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