Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Tatasusunan JavaScript Mengandungi Nilai Tertentu?

Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Tatasusunan JavaScript Mengandungi Nilai Tertentu?

Linda Hamilton
Linda Hamiltonasal
2024-12-27 05:56:13343semak imbas

How Can I Efficiently Check if a JavaScript Array Contains a Specific Value?

Mengenalpasti Nilai Tatasusunan dalam JavaScript dengan Cekap

Menentukan sama ada tatasusunan mengandungi nilai yang ditentukan ialah tugas biasa dalam pengaturcaraan. Dalam JavaScript, terdapat beberapa pendekatan untuk mencapai ini, termasuk kaedah tradisional untuk gelung.

Fungsi Tersuai

Satu pendekatan adalah untuk menentukan fungsi tersuai yang berulang melalui tatasusunan, membandingkan setiap elemen dengan nilai sasaran:

function contains(a, obj) {
    for (var i = 0; i < a.length; i++) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}

Walau bagaimanapun, kaedah ini boleh menjadi tidak cekap untuk tatasusunan besar kerana kerumitan masa linear.

ES6 Array.includes()

Dalam pelayar moden, kaedah Array.includes() menyediakan penyelesaian yang ringkas dan cekap:

console.log(['joe', 'jane', 'mary'].includes('jane')); // true

Array.includes() mengembalikan nilai boolean yang menunjukkan sama ada nilai sasaran terdapat dalam tatasusunan. Ia mempunyai kerumitan masa O(1) untuk nilai primitif dan O(n) untuk nilai rujukan, menjadikannya sesuai untuk tatasusunan semua saiz.

Untuk persekitaran yang tidak menyokong Array.includes(), polyfills tersedia untuk memanjangkan fungsinya. Ini memastikan keserasian merentas pelayar dan memudahkan penyelenggaraan kod.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Tatasusunan JavaScript Mengandungi Nilai Tertentu?. 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