1. 程式人生 > >javascript語法 --- for of/for in迴圈與Map物件

javascript語法 --- for of/for in迴圈與Map物件

  • 迴圈陣列
    var arr  = [a,b,c,d]
    
    for (var i in arr){
        console.log(i) //0 1 2 3
    }
    
    for (var i of arr){
        console.log(i) //a b c d
    }

     

  • 迴圈json

    var json = {'a' : 'A', 'b' : 'B', 'c' : 'D', 'd' : 'D'}
    
    for (var name in json){
        console.log(name) //'a' 'b' 'c' 'd'
    }
    
    for (var name of json){
        console.log(name) //...is not a function
    }
    
    // for of不能迴圈json,真正的目的是為了迴圈Map物件

     

  • Map物件
     

    和json相似,也是一種key-value形式。

    Map物件是為了和for of迴圈配合而生的。

    var map = new Map()
    // 設定:
    map.set(name, value)
    // 獲取:
    map.get(name)
    // 刪除:
    map.delete(name)
    
    // for of 迴圈 map:
    var map = new Map()
    map.set('a', 'A')
    map.set('b', 'B')
    map.set('c', 'C')
    
    for(var name of map){
        console.log(name) //['a', 'A'], ['b', 'B'], ['c', 'C'] 
    }
    
    for(var key of map.keys()){   //只迴圈key
        console.log(key ) //a b c
    }
    
    for(var value of map.values()){  //只迴圈value
        console.log(value ) //A B C
    }