亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用es6數組includes()

發布時間:2020-08-03 09:31:43 來源:億速云 閱讀:552 作者:小豬 欄目:web開發

這篇文章主要為大家展示了如何使用es6數組includes(),內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

Array.prototype.includes方法返回一個布爾值,表示某個數組是否包含給定的值,與字符串的includes方法類似。ES2016引入了該方法。

[1, 2, 3].includes(2) // true
[1, 2, 3].includes(4) // true
[1, 2, NaN].includes(NaN) // true

該方法的第二個參數表示搜索的起始位置,默認為0。如果第二個參數為負數,則表示倒數的位置,如果這時它大于數組長度(比如第二個參數為-4, 但數組長度為3),則會重置為0開始。

[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true

沒有該方法之前,我們通常使用數組的indexOf方法,檢查是否包含某個值。

if (arr.indexOf(el) !== -1) {
 // ...
}

indexOf方法有兩個缺點,一是不夠語義化,它的含義是找到參數值的第一個出現位置,所以要去比較是否不等于-1,表達起來不夠直觀。二是,它內部使用嚴格相等運算符進行判斷,這會導致對NaN的誤判。

[NaN].indexOf(NaN) // -1

includes使用的是不一樣的判斷算法,就沒有這個問題。

[NaN].includes(NaN) // true

下面代碼用來檢查當前環境是否支持該方法,如果不支持,部署一個簡易的替代版本。

const contains = (() => Array.prototype.includes 
? (arr, value) => arr.includes(value)
:(arr, value) => arr.some(el => el === value) 
)()

另外,Map和Set數據結構有一個has方法需要注意與includes區分。

-Map結構的has方法,是用來查找鍵名的,比如Map.prototype.has(key),
WeakMap.prototype.has(key), Reflect.has(target, propertyKey)

-Set結構的has方法,是用來查找值的,比如Set.prototype.has(value),
WeakSet.prototype.has(value)

以上就是關于如何使用es6數組includes()的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

常宁市| 虹口区| 莱阳市| 永康市| 广河县| 耒阳市| 兴和县| 兴义市| 株洲市| 廊坊市| 邵阳市| 调兵山市| 大邑县| 高平市| 犍为县| 滦南县| 井冈山市| 同仁县| 酒泉市| 商都县| 蛟河市| 赣榆县| 临泉县| 进贤县| 兰溪市| 东台市| 手机| 施甸县| 怀化市| 济源市| 泸溪县| 阜宁县| 包头市| 改则县| 灵璧县| 疏附县| 江永县| 陵水| 湖南省| 朔州市| 天等县|