首頁 >web前端 >前端問答 >es6中遍歷跟迭代的差別是什麼

es6中遍歷跟迭代的差別是什麼

WBOY
WBOY原創
2022-04-26 14:57:401724瀏覽

es6中遍歷跟迭代的區別是:遍歷強調的是把整個數據依次全部取出來,是訪問數據結構的所有元素;而迭代雖然也是依次取出數據,但是並不保證取多少,也不保證把所有的資料取完,是遍歷的一種形式。

es6中遍歷跟迭代的差別是什麼

本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6中遍歷跟迭代的差異是什麼

什麼是迭代

從一個資料集合中按照一定的順序,不斷的取出數據的過程

對迭代過程的封裝,通常為對象,不同的語言,表現出來的迭代形式不一樣

什麼是遍歷

使得資料結構的成員能夠依某種次序排列;

ES6 創造了一種新的遍歷指令for…of循環,Iterator 介面主要供for…of消費(for of遍歷的物件必須存在遍歷器介面才可以遍歷)

區別

遍歷就是存取資料結構的所有元素,而迭代是遍歷的一種形式。

迭代強調的是依序取資料並不保證去多少,也不保證把所有的資料取完

方便強調的是要把整個資料依序全部取出

#範例如下:

遍歷一個普通陣列:

//遍历一个普通数组
const arr = [1,2,3,4,5];
for(let i = 0;i< arr.length;i++){
console.log(arr[i])
}

迭代一個普通陣列:

//迭代一个数组
const iterator = { //用于迭代数组的对象
i : 0,
next(){
var result = {
// value : ?
// done : ?
value : arr[this.i],
done : this.i >= arr.length
}
this.i ++;
return result;
}
}
console.log(iterator)   //这个对象就为迭代器
//附加的功能
//让迭代器自己取数据,知道没有数据为止
let data = iterator.next();
while(!data.done){
console.log(data.value)
data = iterator.next();
}
console.log("迭代完成")
//

【相關推薦: javascript影片教學web前端

以上是es6中遍歷跟迭代的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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