新增的遍歷方法有:1、findIndex(),可遍歷數組,找出符合的元素;2、find(),可遍歷數組,找出第一個符合的元素;3、entries( ),對鍵值對進行遍歷;4、keys(),對鍵名進行遍歷;5、values(),對鍵值進行遍歷。
本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
ES5中常用的10種遍歷方法:
1、原始的for迴圈語句
2、Array.prototype.forEach陣列物件內建方法
3、Array.prototype.map陣列物件內建方法
4、Array.prototype.filter陣列物件內建方法
5、Array.prototype.reduce陣列對象內建方法
6、Array.prototype.some數組物件內建方法
7、Array.prototype.every陣列物件內建方法
8、Array.prototype.indexOf數組物件內建方法
9、Array.prototype.lastIndexOf陣列物件內建方法
10、for...in
循環語句
findIndex(callback [, thisArg])找出數組中匹配的元素
找到一个就返回匹配的元素的下标,没找到就返回-1。 let arr = [1, 2, 3, 4, 5, 6]// 此时我们找大于2的数 let newArr = arr.findIndex(val => {return val > 2}) console.log(newArr) // 2
find(fn(callback [, thisArg])
找出數組中匹配的元素,找到一個就返回匹配的元素,沒找到就返回undefined。
註:下面的例子相對於需求是一個錯誤的示範,因為我們要找出大於2的數,當找到匹配到3時,滿足條件,函數就會停止。
例:
let arr = [1, 2, 3, 4, 5, 6] // 此时我们找大于2的数 let newArr = arr.find(val => { return val > 2 }) console.log(newArr) // 3
entries() ,keys() 和values()
ES6 提供三個新的方法- entries(),keys()和values() - 用於遍歷陣列和物件。它們都傳回一個遍歷器對象,可以用for...of
循環進行遍歷,唯一的差別是keys()是對鍵名的遍歷、values()是對鍵值的遍歷,entries()是對鍵值對的遍歷。
for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"
如果不使用for...of循環,可以手動呼叫遍歷器物件的next方法,進行遍歷。
let letter = ['a', 'b', 'c']; let entries = letter.entries(); console.log(entries.next().value); // [0, 'a'] console.log(entries.next().value); // [1, 'b'] console.log(entries.next().value); // [2, 'c']
【相關推薦:javascript影片教學、web前端】
以上是es6新增的遍歷方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!