Array.prototype.includes方法返回一個布爾值,表示某個數組是否包含給定的值,與字符串的includes方法相似。該方法屬於 ES7 ,但 Babel 轉碼器已經支持數組
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, NaN].includes(NaN); // true
複製代碼
該方法的第二個參數表示搜索的起始位置,默認爲 0 。若是第二個參數爲負數,則表示倒數的位置,若是這時它大於數組長度(好比第二個參數爲 -4 ,但數組長度爲 3 ),則會重置爲從 0 開始。bash
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
複製代碼
沒有該方法以前,咱們一般使用數組的indexOf方法,檢查是否包含某個值。 ndexOf方法有兩個缺點,一是不夠語義化,它的含義是找到參數值的第一個出現位置,因此要去比較是否不等於 -1 ,表達起來不夠直觀。二是,它內部使用嚴格至關運算符( === )進行判斷,這會致使對NaN的誤判。ui
filter方法spa
/*
2 filter()實例:篩選排除掉全部的小值
3
4 下例使用 filter 建立了一個新數組,該數組的元素由原數組中值大於 10 的元素組成。
5
6 */
7
8 function isBigEnough(element) {
9 return element >= 10;
10 }
11 var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
12
13 console.log(filtered);//[ 12, 130, 44 ]
複製代碼