1. 程式人生 > 實用技巧 >【JS學習】for-in與for-of

【JS學習】for-in與for-of

前言:本部落格系列為學習後盾人js教程過程中的記錄與產出,如果對你有幫助,歡迎關注,點贊,分享。不足之處也歡迎指正,作者會積極思考與改正。

總述:

名稱 遍歷 適用
for-in 索引 主要建議白能力物件,不介意遍歷陣列
for-of 可用於遍歷陣列,字串,對映,集合等,無法遍歷物件

使用效果:

for-in遍歷中得到的是每一項的索引;for-of得到的是每一項的值

//案列一:運算元組
let arr=['a','b','c','d'];
            //for-in遍歷陣列
            for(let index in arr){
                console.log(index);//遍歷下標0,1,2,3
                console.log(arr[index]);//遍歷陣列'a','b','c','d'
            }
            //for-of遍歷陣列
            for(let value of arr){
                console.log(value);//遍歷陣列'a','b','c','d'
            }
            
            let obj={
                key1:"a",
                key2:"b"

            }
            //for-in遍歷陣列
            for(let index in obj){
                console.log(index);//遍歷下標0,1,2,3
                console.log(obj[index]);//遍歷陣列'a','b','c','d'
            }
            //for-of遍歷陣列
            for(let value of obj){
                console.log(value);//報錯obj is not iterable
            }
//案例二:操作物件for-in可以  for-of不行,本質是迭代器
let obj={
                key1:"a",
                key2:"b"

            }
            //for-in遍歷陣列
            for(let index in obj){
                console.log(index);//遍歷下標0,1,2,3
                console.log(obj[index]);//遍歷陣列'a','b','c','d'
            }
            //for-of遍歷陣列
            for(let value of obj){
                console.log(value);//報錯obj is not iterable
            }
 
//for-of還可以遍歷DOM元素

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <main>
            <ul>
                <li></li>
                <li> </li>
            </ul>

        </main>
        <script>
            let lis=document.querySelectorAll("li");//找到都沒中的所有li隊形打包成陣列
            for(let li of lis){//遍歷所有li物件
                li.innerHTML="a";//給li物件加如內容a
            } 
           
        </script>
    </body>
</html>

尾記

有任何問題,歡迎私聊喲~~~

也可關注公眾號“詩與涼風”聯絡作者哦~~