日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第十三节:易学又实用的新特性:for...of

發布時間:2025/3/15 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十三节:易学又实用的新特性:for...of 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????前面幾節的內容稍微偏長,代碼也不少,估計有基礎的同學才會跟得上,不知道大家有沒有看懵了。這節來點簡單但又很實用的知識,沒錯,就是for...of。

for...of 是什么

????????for...of 一種用于遍歷數據結構的方法。它可遍歷的對象包括數組,對象,字符串,set和map結構等具有iterator 接口的數據結構。

????????(上面這句話如果有看不懂的地方,自動忽略即可,后續會有章節介紹。)

????????下面就以大家熟悉的數組為例來介紹for...of。

????

????????遍歷數組早就不是什么新鮮事,我們有好幾種方法去完成,此時ES6給我們帶來一個新的遍歷方法for...of,難道它有更牛逼的地方?

????????接下來,我們先來看看幾種傳統的遍歷數組的方式以及它們的缺陷。

方式一


? ?var arr = [1,2,3,4,5];
? ?for(let i = 0;i<arr.length;i++){
??? ? ? //...
? ?}

????????方式一利用for循環來遍歷數組的缺點就是:代碼不夠簡潔。

????????下面介紹一個寫法更加簡潔的方式。

?

方式二


? ?var arr = [1,2,3,4,5];
? ?arr.forEach(function (value,index) {
?? ? ? //...
? ?});
? ?

????????利用forEach循環代碼量少了很多,寫法更加簡潔,缺點就是:無法中斷停止整個循環。

方式三


? ?var arr = [1,2,3,4,5];
? ?for(let i in arr){
??? ? ? //...
? ?}
? ?

????????for...in循環更常用于對象的循環,如果用于數組的循環,那么就要注意了,上述代碼中每次循環中得到的i是字符串類型,而不是預料中的數字類型,要想對它進行運算,那得先要進行類型轉換,造成不方便。

????????既然上面的幾種方式都存在不足,新增的遍歷方式for...of會比它們更好嗎?答案是肯定的。

????????我們來看看for...of的是實現:


? ?var arr = [1,2,3,4,5];
? ?for(let value of arr){
??? ? ? console.log(value);
? ?}
? ?//打印結果:依次輸出:1 2 3 4 5

????????看樣子是不是有點眼熟,很像for...in?確實很像。它的實現跟for...in很類似。

????????我們列舉一下for...of的優勢:

  • 寫法比for循環簡潔很多;

  • 可以用break來終止整個循環,或者continute來跳出當前循環,繼續后面的循環;

  • 結合keys( )獲取到循環的索引,并且是數字類型,而不是字符串類型。

  • ????我們分別來展示一下上述的幾個優點:

    循環可以終止


    ? ?var arr = [1,2,3,4,5];
    ? ?for(let value of arr){
    ??? ? ? if(value == 3){
    ??????? ? ? //終止整個循環
    ? ? ? ? ? ?break;
    ??? ? ? }
    ??? ? ? console.log(value);
    ? ?}
    ? ?//打印結果:1 2

    ????????

    ????????以上案例:用break實現了終止整個循環,不會繼續后面的遍歷,所以打印結果為:1? 2。

    ?

    可跳過當前循環


    ? ?var arr = [1,2,3,4,5];
    ? ?for(let value of arr){
    ??? ? ? if(value == 3){
    ??????? ? ? //跳過當前循環,繼續后面的循環
    ? ? ? ? ? ?continue;
    ??? ? ? }
    ??? ? ? console.log(value);
    ? ?}
    ? ?//打印結果:1 2 4? 5

    ????????用continue跳過當前循環,繼續后面的循環,所以打印結果為:1? 2? 4? 5。

    得到數字類型的索引


    ? ?var arr = [1,2,3,4,5];
    ? ?for(let index of arr.keys()){
    ??? ? ? console.log(index);
    ? ?}
    ? ?//打印結果:依次輸出:0 1 2 3 4

    ????????使用數組的擴展keys( )(第八節有介紹,點擊查看),獲取鍵名再遍歷,得到的index是數字類型的。

    ?

    ????????此外,相比于for...in循環專門為對象設計,for...of循環的適用范圍更廣。

    遍歷字符串

    ????????for...of 支持字符串的遍歷。


    ? ?let word = "我是前端君";
    ? ?for(let w of word){
    ??? ? ? console.log(w);
    ? ?}
    ? ?//打印結果:我 ?是 ?前 ?端 ?君

    遍歷DOM List

    ????????for...of支持類數組的遍歷,例如DOM List。


    ? ?<p>1</p>
    ? ?<p>2</p>
    ? ?<p>3</p>
    ? ?//假設有3個p元素
    ? ?let pList = document.getElementsByTagName('p');

    ? ?for(let p of pList){
    ??? ? ? console.log(p);
    ? ?}
    ? ?// 打印結果:<p>1</p>
    ? ?//???????? ?<p>2</p>
    ? ?//???????? ?<p>3</p>

    ????????for...of支持set和map解構的遍歷,考慮到set和map我們還沒學習,我們在后面章節一并講解。

    ?

    ????????這節是近期最簡短、最易學的一個章節了,希望大家多能看懂。

    本節小結

    總結:for...of一種新的遍歷方式,能遍歷的對象有:數組,類數組對象,字符串,set和map結構等具有iterator接口的數據結構。而且for...in更適合用于對象的遍歷。

    總結

    以上是生活随笔為你收集整理的第十三节:易学又实用的新特性:for...of的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩精品在线不卡 | 九九在线精品视频 | 亚洲天堂2015 | 国产精品老熟女一区二区 | 国产高清亚洲 | 日本亚洲黄色 | 国内视频一区二区 | 中文字幕久久一区 | 图片区亚洲 | 国产成人77亚洲精品www | 欧美日韩精品一区 | 麻豆av影视 | 99成人精品视频 | 天天精品视频 | 在线观看911视频 | 黄色三级在线观看 | 久草影视在线 | 中国精品久久久 | 天堂www中文在线资源 | 国产精品视频入口 | 久久久久久久久国产精品 | 国产精品成人一区二区三区电影毛片 | 国产高清视频一区二区 | 中文字幕精品三区 | 天天操精品 | 欧美亚洲国产视频 | 日本国产在线播放 | 天堂资源 | 久久精品国产清自在天天线 | 日本人极品人妖高潮 | 欧美区在线 | 国产91丝袜在线播放 | 中文字幕在线视频精品 | 激情国产 | 九九爱国产| 99一区二区 | 777av | 久久久99精品免费观看 | 超级变态重口av番号 | 国产视频首页 | 国产一区二区在线观看视频 | 日本老肥婆bbbwbbbwzr | 青草视频免费在线观看 | 美女精品视频 | 日韩在线国产精品 | 亚洲一区二区自拍偷拍 | 久久99热精品 | 91青青草 | 国产ts人妖调教重口男 | 亚洲社区一区二区 | 精品人妻一区二区三区换脸明星 | 国产l精品国产亚洲区久久 午夜青青草 | 中国av一级片 | 欧美视频在线播放 | 亚洲欧美a| 国产91在线播放九色 | av电影免费在线播放 | 天天干妹子 | 精品三级国产 | 日韩aaa| 色屁屁一区二区三区视频 | 中文字幕一区二区三区人妻 | 男人的天堂手机在线 | 黄色片视频 | 日韩视频一区在线观看 | 性生活视频软件 | 久久不卡日韩美女 | 欧美日韩精品免费 | 欧美第一视频 | 亚洲影视中文字幕 | 四虎精品在永久在线观看 | 91在线精品秘密一区二区 | www.欧美色 | 中文字幕在线视频一区二区 | 少妇被爽到高潮动态图 | 1000部啪啪未满十八勿入 | 视频三区在线 | 波多野结衣久久 | 国产夜色精品一区二区av | 深夜视频在线 | 上海毛片| 中文免费av | 精品免费国产一区二区三区 | 亚洲毛片一区二区三区 | 精品人妻一区二区三区蜜桃 | 国产精品伦一区二区三级古装电影 | 色操插 | 久久青青草原亚洲av无码麻豆 | 久久综合热| 免费黄色网址在线 | 在线亚洲+欧美+日本专区 | 亚洲一区二区不卡在线观看 | 懂色av一区二区三区免费 | 国产欧美日韩高清 | 99热9| 国产 欧美 日韩 | 国产精品视频一区二区在线观看 | 国产欧美日韩另类 | 亚洲色诱|