數(shù)組常用方法
1.filter()?
方法使用指定的函數(shù)測試所有元素,并創(chuàng)建一個包含所有通過測試的元素的新數(shù)組.
array.filter(callback, thisArg)
2.map()
方法返回一個由原數(shù)組中的每個元素調(diào)用一個指定方法后的返回值組成的新數(shù)組.
array.map(callback, thisArg)
3.every()
方法用于測試數(shù)組中所有元素是否都通過了指定函數(shù)的測試.
array.every(callback, thisArg)
4.some()
方法用于測試數(shù)組中是否至少有一項元素通過了指定函數(shù)的測試.
array.some(callback, thisArg)
5.forEach()
方法為為每個元素執(zhí)行對應的方法.
return ; 不能停止循環(huán)
6. 展開運算符?
方法允許一個表達式在某處展開.常用的場景包括: 函數(shù)參數(shù),數(shù)組元素, 對象 解構(gòu)賦值.
Var arr = [1,2,3];
console.log([‘a(chǎn)’? , …arr , ‘b’]); // [ ‘a(chǎn)’,1,2,3, ‘b’ ];
7. find ()和? findIndex()
find ()用于找出第一個符合條件的數(shù)組成員现柠。它的參數(shù)是一個回調(diào)函數(shù),所有數(shù)組成員依次執(zhí)行該回調(diào)函數(shù),直到找出第一個返回值 為true的成員衷敌,然后返回該成員评矩。如果沒有符合條件的成員,則返回undefined。?
?findIndex()返回第一個符合條件的數(shù)組成員的位置忧吟,如果所有成員都不符合條件养筒,則返回-1曾撤。?
都可以接受第二個參數(shù),用來綁定回調(diào)函數(shù)的對象晕粪。?
[1, 4, -5, 10].find((n) => n < 0)?
[1, 5, 10, 15].find(function(value, index, arr) { return value > 9;?
}) // 10?
數(shù)值擴展
1. Number.isFinite()?
方法用來檢查一個數(shù)值是否為有限的(finite)挤悉。?
Number.isFinite(15); // true?
Number.isFinite(0.8); // true?
Number.isFinite(NaN); // false?
2.? Number.isNaN()
方法用來檢查一個值是否為NaN。?
Number.isNaN(NaN) // true?
Number.isNaN(15) // false?
3. Math. trunc()對象?
方法用于去除一個數(shù)的小數(shù)部分巫湘,返回整數(shù)部分装悲。
Math. trunc(4.1) // 4?
Math. trunc(4.9) // 4?
Math. trunc(-4.1) // -4?
4. Math.sign()
?方法用來判斷一個數(shù)到底是正數(shù)、負數(shù)尚氛、還是零诀诊。 它會返回五種值。?
?參數(shù)為正數(shù)阅嘶,返回+1;?
?參數(shù)為負數(shù)属瓣,返回-1;?
?參數(shù)為0,返回0;?
?參數(shù)為-0,返回-0;?
?其他值奠涌,返回NaN宪巨。?
Math.sign(-5) // -1?
Math.sign(5) // +1?
Math.sign(0) // +0?
Math.sign(-0) // -0?
Math.sign(NaN) // NaN
?Math.sign('foo'); // NaN?
5. Math.clz32()
方法返回一個數(shù)的32位無符號整數(shù)形式有多少個前導0。?
Math.clz32(1000) // 22?
6. Array.from ()
方法用于將兩類對象轉(zhuǎn)為真正的數(shù)組 .類似數(shù)組的對象(array-like object)和可遍歷(iterable)的對象?
可以進行鏈式操作
7. Array.of ()
方法用于將一組值溜畅,轉(zhuǎn)換為數(shù)組捏卓。 必須參數(shù)個數(shù)大于2;
Array.of(3, 11, 8) // [3,11,8]?
8.includes()? 該方法屬于ES7?
Array.prototype.includes方法返回一個布爾值慈格,表示某個數(shù)組是否包含給定的值怠晴,與字符串的includes方法類似。?
[1, 2, 3].includes(2); // true
?[1, 2, 3].includes(4); // false
?[1, 2, NaN].includes(NaN); // true?