includes() vs indexOf() dalam JS, mari kita bincangkan tentang perbezaan mereka

青灯夜游
Lepaskan: 2021-12-20 16:36:27
ke hadapan
4828 orang telah melayarinya

Artikel ini akan membandingkan secara ringkas kaedah termasuk() dan indexOf() dalam JavaScript dan bercakap tentang perbezaannya, saya harap ia akan membantu anda.

includes() vs indexOf() dalam JS, mari kita bincangkan tentang perbezaan mereka

1 Perbezaan asas

  • termasuk() dan indexOf() Kesemuanya digunakan untuk menyemak sama ada tatasusunan mengandungi elemen tertentu Nilai pulangan bagi includes() ialah nilai Boolean dan indexOf() mengembalikan nilai indeks, -1 dikembalikan. [Cadangan berkaitan: tutorial pembelajaran javascript]

let arr = [1,2,3]
arr.indexOf(0)	// -1
arr.indexOf(2)	// 1
arr.includes(2)	// true
Salin selepas log masuk

2. Semak NAN dan undefined

  • Oleh kerana indexOf() mengikut ketat operator === untuk membandingkan nilai, indexOf() tidak boleh menyemak NAN, tetapi include() boleh

let arr = [NaN,]
arr.indexOf(NaN)	// -1
arr.indexOf(undefined) // -1
arr.includes(NaN)	// true
arr.includes(undefined)	// true
Salin selepas log masuk

3 Tandakan -0 dan 0

  • termasuk() dan indexOf() jangan bezakan antara -0 dan 0, Apabila menilai , kedua-duanya dianggap sama

let arr = [+0]
arr.includes(-0) // true
arr.indexOf(-0) // 0
Salin selepas log masuk

4. Jenis data yang kompleks tidak boleh disemak

  • Kedua-duanya hanya boleh menilai jenis data ringkas, tetapi tidak boleh menilai jenis data yang kompleks seperti objek dan tatasusunan

let arr = [{a:1},{a:2}]
arr.includes({a:1}) // false
arr.indexOf({a:1}) // -1
Salin selepas log masuk

5 , indexOf( ) boleh digunakan dalam rentetan

  • untuk mengembalikan kedudukan di mana aksara yang dinyatakan mula-mula muncul, dan terdapat penukaran tersirat

let str = 'a1b2c3'
str.indexOf('2')); //3
str.indexOf(1)); //3
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci includes() vs indexOf() dalam JS, mari kita bincangkan tentang perbezaan mereka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.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