Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6

Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6

青灯夜游
青灯夜游asal
2022-03-07 18:35:3110481semak imbas

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)".

Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6

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!

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