首頁 >web前端 >前端問答 >es6新增的遍歷方法有哪些

es6新增的遍歷方法有哪些

青灯夜游
青灯夜游原創
2022-03-23 16:38:232173瀏覽

新增的遍歷方法有:1、findIndex(),可遍歷數組,找出符合的元素;2、find(),可遍歷數組,找出第一個符合的元素;3、entries( ),對鍵值對進行遍歷;4、keys(),對鍵名進行遍歷;5、values(),對鍵值進行遍歷。

es6新增的遍歷方法有哪些

本教學操作環境: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循環語句

#es6新增的遍歷方法

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn