Rumah > Artikel > hujung hadapan web > Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6
Dalam es6, anda boleh menggunakan kaedah termasuk() tatasusunan untuk menentukan sama ada tatasusunan mengandungi nilai tertentu Kaedah ini boleh digunakan untuk mengesan sama ada tatasusunan itu mengandungi nilai tertentu object.includes( value)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Dalam ES5, Array sudah menyediakan indexOf untuk mencari kedudukan elemen Jika ia tidak wujud, ia akan mengembalikan -1. Walau bagaimanapun, fungsi ini mempunyai dua kelemahan kecil apabila menentukan sama ada array itu pertama Satu ialah ia akan mengembalikan -1 dan kedudukan elemen untuk menunjukkan sama ada ia disertakan. Tiada masalah dari segi kedudukan, tetapi ia tidak cukup semantik. Masalah lain ialah ia tidak dapat menentukan sama ada terdapat unsur NaN.
Contohnya:
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.indexOf(NaN))
Keputusan:
-1
ES6 menyediakan fungsi Array.includes() untuk menentukan sama ada elemen tertentu disertakan sebagai tambahan kepada kerana tidak dapat mencari, penyelesaiannya Menyelesaikan dua masalah indexOf di atas. Ia secara langsung mengembalikan benar atau salah untuk menunjukkan sama ada ia mengandungi unsur, dan ia juga berkesan untuk NaN.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('c')) console.log('%s', arr1.includes('z')) console.log('%s', arr1.includes(NaN))
Keputusan:
true false true
Parameter kedua bagi fungsi includes() menunjukkan kedudukan permulaan penghakiman.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('d', 1)) console.log('%s', arr1.includes('d', 3)) console.log('%s', arr1.includes('d', 4))
Keputusan:
true true false
Parameter kedua juga boleh menjadi nombor negatif, menunjukkan nombor dari kanan, tetapi tidak mengubah arah carian, arah carian masih dari Kiri ke kanan.
console.log('%s', arr1.includes('k', -1)) console.log('%s', arr1.includes('k', -2)) console.log('%s', arr1.includes('i', -3))
Keputusan:
false true false
Ringkasan:
termasuk() kaedah, digunakan untuk mengesan sama ada tatasusunan mengandungi nilai tertentu, boleh menentukan NaN, dan secara langsung Mengembalikan benar/salah, yang lebih intuitif; kaedah
indexOf() digunakan untuk mencari kedudukan unsur tertentu tidak boleh dinilai dan mengembalikan -1, yang bermaksud ia tidak disertakan -1, ia adalah kedudukan yang disertakan pada masa ini.
Kedua-dua kaedah mempunyai kebaikan dan keburukan tersendiri, bergantung kepada keadaan sebenar. Jika elemen mengandungi NaN, use includes(), jika tidak sama ada boleh digunakan.
[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!