ES6中Array.includes()函數(shù)的用法
在ES5,Array已經(jīng)提供了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ù)的用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系
undefined==null引發(fā)的兩者區(qū)別與聯(lián)系2007-12-12
基于Bootstrap實現(xiàn)的下拉菜單手機端不能選擇菜單項的原因附解決辦法
小編使用bootstrap做的下拉菜單在電腦瀏覽器中可以正常使用,在手機瀏覽器中能彈出下拉列表卻不能選擇列表中的菜單項,怎么回事,如何解決呢?下面小編給大家分享下具體原因及解決辦法,一起看下吧2016-07-07
JavaScript?數(shù)據(jù)結構之集合創(chuàng)建(2)
這篇文章主要介紹了JavaScript?數(shù)據(jù)結構之集合創(chuàng)建,上一篇我們介紹了什么是集合,并且手動實現(xiàn)了一個集合的類,本篇基于上篇內容繼續(xù)深入介紹需要的小伙伴可以參考一下2022-04-04
JavaScript實現(xiàn)郵箱地址自動匹配功能代碼
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)E-mail郵箱地址自動匹配功能代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
解決layui中table異步數(shù)據(jù)請求不支持自定義返回數(shù)據(jù)格式的問題
今天小編就為大家分享一篇解決layui中table異步數(shù)據(jù)請求不支持自定義返回數(shù)據(jù)格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
微信小程序wx.getImageInfo()如何獲取圖片信息
這篇文章主要為大家詳細介紹了微信小程序wx.getImageInfo()如何獲取圖片信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01

