es6中遍歷跟迭代的區(qū)別有哪些

這篇文章主要介紹“es6中遍歷跟迭代的區(qū)別有哪些”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“es6中遍歷跟迭代的區(qū)別有哪些”文章能幫助大家解決問(wèn)題。

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、東光網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

es6中遍歷跟迭代的區(qū)別是:遍歷強(qiáng)調(diào)的是要把整個(gè)數(shù)據(jù)依次全部取出來(lái),是訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的所有元素;而迭代雖然也是依次取出數(shù)據(jù),但是并不保證取多少,也不保證把所有的數(shù)據(jù)取完,是遍歷的一種形式。

本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。

es6中遍歷跟迭代的區(qū)別

什么是迭代

從一個(gè)數(shù)據(jù)集合中按照一定的順序,不斷的取出數(shù)據(jù)的過(guò)程

對(duì)迭代過(guò)程的封裝,通常為對(duì)象,不同的語(yǔ)言,表現(xiàn)出來(lái)的迭代形式不一樣

什么是遍歷

使得數(shù)據(jù)結(jié)構(gòu)的成員能夠按某種次序排列;

ES6 創(chuàng)造了一種新的遍歷命令for…of循環(huán),Iterator 接口主要供for…of消費(fèi)(for of遍歷的對(duì)象必須存在遍歷器接口 才可以遍歷)

區(qū)別

遍歷就是訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的所有元素,而迭代是遍歷的一種形式。

迭代強(qiáng)調(diào)的是依次取數(shù)據(jù)并不保證去多少,也不保證把所有的數(shù)據(jù)取完

便利強(qiáng)調(diào)的是要把整個(gè)數(shù)據(jù)依次全部取出

示例如下:

遍歷一個(gè)普通數(shù)組:

//遍歷一個(gè)普通數(shù)組
const arr = [1,2,3,4,5];
for(let i = 0;i< arr.length;i++){
console.log(arr[i])
}

迭代一個(gè)普通數(shù)組:

//迭代一個(gè)數(shù)組
const iterator = { //用于迭代數(shù)組的對(duì)象
i : 0,
next(){
var result = {
// value : ?
// done : ?
value : arr[this.i],
done : this.i >= arr.length
}
this.i ++;
return result;
}
}
console.log(iterator)   //這個(gè)對(duì)象就為迭代器
//附加的功能
//讓迭代器自己取數(shù)據(jù),知道沒(méi)有數(shù)據(jù)為止
let data = iterator.next();
while(!data.done){
console.log(data.value)
data = iterator.next();
}
console.log("迭代完成")
//

關(guān)于“es6中遍歷跟迭代的區(qū)別有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

文章名稱:es6中遍歷跟迭代的區(qū)別有哪些
網(wǎng)站路徑:http://muchs.cn/article20/iiodjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、App設(shè)計(jì)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)