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
    }
    

猜你喜欢

转载自blog.csdn.net/qq_35415374/article/details/82706954
今日推荐