一、擴展運算符數組
擴展運算符(spread)是三個點(...).它比如rest參數的逆運算,將一個數組轉化爲用逗號分隔的參數序列;數據結構
console.log(...[2,3,4,99]) // 2,3,4,99
二、Array.from 用於將兩類對象轉爲真正的數組:類數組對象(array-like object)(包含length屬性,索引:0~n)函數
和可遍歷(iterable)的對象(ES6 中的 Set 和 Map);spa
let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; console.log(Array.from(arrayLike)) //[ 'a', 'b', 'c' ]
只要是部署了Iterator接口的數據結構,Array.from()都能將其轉爲數組rest
console.log(Array.from('hello'))
[ 'h', 'e', 'l', 'l', 'o' ]
三、Array.of 用於將一組值,轉化爲數組。這個方法的主要目的是彌補數組構造函數Array()的不足。由於參數個數的不一樣,會致使Array()的行爲有差別code
Array.of(3,4,5) // [3,4,5] // 構造函數建立數組 var arr = new Array(10) // 長度爲10的數組
四、數組實例的 find() 和 findIndex()對象
數組實例的find方法,用於找出第一個符合條件的數組成員。它的參數是一個回調 函數,全部數組成員依次執行該回調函數,blog
直到找出第一個返回值爲true的成員, 而後返回該成員。若是沒有符合條件的成員,則返回undefined 。find方法的回調索引
函數能夠接受三個參數,依次爲當前的值、當前的位置和原數組。接口
var a=[1, -1,4, -5, 10].find((n) => n < 0) console.log(a) // -5
數組實例的findIndex方法的用法與find方法很是相似,返回第一個符合條件的數組 成員的位置,若是全部成員都不符合條件,則返回-1。
var b = [1, 5, 10, 15].findIndex(function(value, index, arr) { return value > 9; })
console.log(b) //2
五、數組實例 的 fill()
fill方法使用給定值,填充一個數組。
['a', 'b', 'c'].fill(7) // [7, 7, 7] new Array(3).fill(7) // [7, 7, 7]
六、數組實例的 entries(),keys()
這兩個方法用於遍歷數組。它們都返回一個遍歷器對象,能夠用for...of循環進行遍歷,惟一的區別是keys()是對鍵名的遍歷, entries()是對鍵值對的遍歷;
for (let index of ['a', 'b'].keys()) { console.log(index);// 0,1 }
for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem);// 0 'a',1 'b' }
七、數組實例的 includes()
該方法返回一個布爾值,表示某個數組是否包含給定的值,與字符串的includes方法 相似。
[1, 2, 3].includes(3) // true [1, 2, 3].includes(9) // false [1, 2, NaN].includes(NaN) // true