JS中 includes() vs indexOf(),聊聊它們有什麼差別

青灯夜游
發布: 2021-12-20 16:36:27
轉載
4736 人瀏覽過

這篇文章給大家簡單比較一下JavaScript中的includes() 和 indexOf()方法,聊聊它們有什麼差別,希望對大家有幫助!

JS中 includes() vs indexOf(),聊聊它們有什麼差別

1、基本差異

  • #includes()和indexOf()都是用來檢查陣列是否包含某些元素,includes()傳回值是布林值,indexOf()傳回的是索引值,如果沒有傳回-1。 【相關推薦:javascript學習教學

let arr = [1,2,3] arr.indexOf(0) // -1 arr.indexOf(2) // 1 arr.includes(2) // true
登入後複製

2、檢查NAN和undefined

  • #因為indexOf()是嚴格依照===運算子來做值的比較,所以indexOf()不能檢查NAN,但是includes()可以

let arr = [NaN,] arr.indexOf(NaN) // -1 arr.indexOf(undefined) // -1 arr.includes(NaN) // true arr.includes(undefined) // true
登入後複製

3、檢查-0和0

  • #includes()和indexOf()沒有區分-0和0,在判斷時,認為二者是相同的

let arr = [+0] arr.includes(-0) // true arr.indexOf(-0) // 0
登入後複製

4、不能檢查複雜資料型別

  • 二者只能判斷簡單資料型別,對於物件、陣列等複雜資料型別是不可以判斷的

let arr = [{a:1},{a:2}] arr.includes({a:1}) // false arr.indexOf({a:1}) // -1
登入後複製

5、indexOf()可用於字串

  • 傳回指定字元第一次出現的位置,並且存在有隱式轉換

let str = 'a1b2c3' str.indexOf('2')); //3 str.indexOf(1)); //3
登入後複製

更多編程相關知識,請造訪:程式設計影片! !

以上是JS中 includes() vs indexOf(),聊聊它們有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:juejin.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!