ES6中Array.includes()函數(shù)的用法
在ES5,Array已經提供了indexOf用來查找某個元素的位置,如果不存在就返回-1,但是這個函數(shù)在判斷數(shù)組是否包含某個元素時有兩個小不足,第一個是它會返回-1和元素的位置來表示是否包含,在定位方面是沒問題,就是不夠語義化。另一個問題是不能判斷是否有NaN的元素。
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.indexOf(NaN))
結果:
-1
ES6提供了Array.includes()函數(shù)判斷是否包含某一元素,除了不能定位外,解決了indexOf的上述的兩個問題。它直接返回true或者false表示是否包含元素,對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))
結果:
true
false
true
includes()函數(shù)的第二個參數(shù)表示判斷的起始位置。
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))
結果:
true
true
false
第二個參數(shù)也可以是負數(shù),表示從右數(shù)過來第幾個,但是不改變判斷搜索的方向,搜索方向還是從左到右。
console.log('%s', arr1.includes('k', -1)) console.log('%s', arr1.includes('k', -2)) console.log('%s', arr1.includes('i', -3))
結果:
false
true
false
總結
以上所述是小編給大家介紹的ES6中Array.includes()函數(shù)的用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
JavaScript關聯(lián)數(shù)組用法分析【概念、定義、遍歷】
這篇文章主要介紹了JavaScript關聯(lián)數(shù)組用法,結合實例形式分析了關聯(lián)數(shù)組的概念、定義與遍歷操作相關實現(xiàn)技巧,需要的朋友可以參考下2017-03-03