Di es6, Anda dapat menggunakan metode include() dari array untuk menentukan apakah array berisi nilai tertentu. Metode ini dapat digunakan untuk mendeteksi apakah array berisi nilai tertentu. ".
Lingkungan pengoperasian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
Di ES5, Array sudah menyediakan indexOf untuk menemukan posisi suatu elemen. Jika tidak ada, ia akan mengembalikan -1. Namun, fungsi ini memiliki dua kekurangan kecil saat menentukan apakah array berisi suatu elemen. 1 dan posisi elemen digunakan untuk menunjukkan apakah elemen tersebut disertakan. Tidak ada masalah dalam hal penentuan posisi, tetapi tidak cukup semantik. Masalah lainnya adalah tidak dapat menentukan apakah terdapat elemen NaN.
Contoh:
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', ' k', NaN] console.log('%s', arr1.indexOf(NaN))
hasil:
-1
ES6 menyediakan fungsi Array.includes() untuk menentukan apakah elemen tertentu disertakan di atas dua masalah indexOf. Ini secara langsung mengembalikan nilai benar atau salah untuk menunjukkan apakah itu berisi elemen, dan ini juga efektif untuk NaN.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', tidak] konsol.log('%s', arr1.termasuk('c')) konsol.log('%s', arr1.termasuk('z')) console.log('%s', arr1.includes(NaN))
hasil:
benar PALSU
Parameter kedua dari
fungsi include()yang sebenarnyamenunjukkan posisi awal penilaian.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', Tidak] konsol.log('%s', arr1.termasuk('d', 1)) konsol.log('%s', arr1.termasuk('d', 3)) console.log('%s', arr1.includes('d', 4))
hasil:
benar BENAR falseParameter
kedua juga bisa berupa angka negatif, menunjukkan angka dari kanan, tetapi tidak mengubah arah pencarian, arah pencarian tetap dari kiri ke kanan.
konsol.log('%s', arr1.termasuk('k', -1)) konsol.log('%s', arr1.termasuk('k', -2)) console.log('%s', arr1.includes('i', -3))
hasil:
salah BENAR
ringkasan
salah:
metode include(), digunakan untuk mendeteksi apakah suatu array berisi nilai tertentu, dapat menilai NaN, dan langsung mengembalikan nilai benar/salah, yang lebih intuitif
metode indexOf(), digunakan untuk menemukan posisi suatu elemen, tidak bisa judge NaN , mengembalikan -1, yang berarti tidak disertakan, dan non-1 berarti posisi yang disertakan saat ini.
Kedua metode tersebut memiliki kelebihan dan kekurangan masing-masing, yang bergantung pada situasi sebenarnya. Jika elemen berisi NaN, gunakan include(), jika tidak, keduanya dapat digunakan.