重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
這篇文章主要介紹“es6中遍歷跟迭代的區(qū)別有哪些”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“es6中遍歷跟迭代的區(qū)別有哪些”文章能幫助大家解決問題。
目前創(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é)力一起成長,共同發(fā)展。
es6中遍歷跟迭代的區(qū)別是:遍歷強(qiáng)調(diào)的是要把整個數(shù)據(jù)依次全部取出來,是訪問數(shù)據(jù)結(jié)構(gòu)的所有元素;而迭代雖然也是依次取出數(shù)據(jù),但是并不保證取多少,也不保證把所有的數(shù)據(jù)取完,是遍歷的一種形式。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
什么是迭代
從一個數(shù)據(jù)集合中按照一定的順序,不斷的取出數(shù)據(jù)的過程
對迭代過程的封裝,通常為對象,不同的語言,表現(xiàn)出來的迭代形式不一樣
什么是遍歷
使得數(shù)據(jù)結(jié)構(gòu)的成員能夠按某種次序排列;
ES6 創(chuàng)造了一種新的遍歷命令for…of循環(huán),Iterator 接口主要供for…of消費(fèi)(for of遍歷的對象必須存在遍歷器接口 才可以遍歷)
區(qū)別
遍歷就是訪問數(shù)據(jù)結(jié)構(gòu)的所有元素,而迭代是遍歷的一種形式。
迭代強(qiáng)調(diào)的是依次取數(shù)據(jù)并不保證去多少,也不保證把所有的數(shù)據(jù)取完
便利強(qiáng)調(diào)的是要把整個數(shù)據(jù)依次全部取出
示例如下:
遍歷一個普通數(shù)組:
//遍歷一個普通數(shù)組 const arr = [1,2,3,4,5]; for(let i = 0;i< arr.length;i++){ console.log(arr[i]) }
迭代一個普通數(shù)組:
//迭代一個數(shù)組 const iterator = { //用于迭代數(shù)組的對象 i : 0, next(){ var result = { // value : ? // done : ? value : arr[this.i], done : this.i >= arr.length } this.i ++; return result; } } console.log(iterator) //這個對象就為迭代器 //附加的功能 //讓迭代器自己取數(shù)據(jù),知道沒有數(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)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。