Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nilai Wujud dalam Tatasusunan JavaScript?

Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nilai Wujud dalam Tatasusunan JavaScript?

Patricia Arquette
Lepaskan: 2024-12-07 22:52:13
asal
762 orang telah melayarinya

How Can I Efficiently Determine if a Value Exists in a JavaScript Array?

Penerokaan Mendalam Penentuan Nilai Tatasusunan

Dalam JavaScript, menentukan sama ada unsur wujud dalam tatasusunan boleh menjadi tugas pengaturcaraan biasa. Untuk menangani perkara ini, kami memperkenalkan teknik lelaran tatasusunan.

Fungsi yang disediakan:

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] == obj) {
            return true;
        }
    }
    return false;
}
Salin selepas log masuk

Malangnya, fungsi ini secara konsisten mengembalikan palsu. Satu isu yang berpotensi terletak pada pengendali kesaksamaan (==) yang digunakan dalam pernyataan if, yang menyemak paksaan jenis dan bukannya kesaksamaan yang ketat. Menyemak baris ini kepada if (this[i] === obj) akan menyelesaikan isu.

Walau bagaimanapun, penyelesaian yang lebih cekap dan ringkas tersedia menggunakan fungsi utiliti jQuery:

$.inArray(value, array)
Salin selepas log masuk

Fungsi ini mencari kedudukan nilai tertentu dalam tatasusunan, mengembalikan indeks jika ditemui atau -1 jika tidak.

Dalam yang disediakan contoh:

arrValues = ["Sam","Great", "Sample", "High"]
alert(arrValues.contains("Sam"));
Salin selepas log masuk

Output yang dijangkakan adalah benar menggunakan fungsi tersuai kami (selepas membetulkan semakan kesamaan) atau 0 menggunakan $.inArray jQuery.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Nilai Wujud dalam Tatasusunan 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