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

Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam es6

青灯夜游
Lepaskan: 2022-03-07 18:35:31
asal
10559 orang telah melayarinya

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))
Salin selepas log masuk

Keputusan:

-1
Salin selepas log masuk

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))
Salin selepas log masuk

Keputusan:

true
false
true
Salin selepas log masuk

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))
Salin selepas log masuk

Keputusan:

true
true
false
Salin selepas log masuk

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))
Salin selepas log masuk

Keputusan:

false
true
false
Salin selepas log masuk

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!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan