zoukankan      html  css  js  c++  java
  • ES6新增Map、Set和iterable

    Map需要一个二维数组

    var test_map = new Map(["mians",99],["regink",88])

    test_map.get("mians")  //返回99

    test_map.set("mians", 77)  //修改值

    test_map.has("mians")  //检测包含key

    test_map.delete("mians")  //删除元素

    Set保存key,无重复key

    var test_set = new Set([1,2,3,'3']);

    ES6中,Array、Map和Set都属于iterable类型

    具有方法for..of和forEach

    for...of和for...in的区别

    for..in遍历的实际上是对象的属性名称,一个Array数组实际上也是一个对象,每一个元素的索引被视为一个属性。手动给Array增加属性之后,for...in循环输出意想不到的结果

    eg:var arr = ['a','b','c']

      arr.name = 'ddd'

      for(var i in arr){

        console.log(i)  //a,b,c,name,但是arr的length仍然为3

      }

    for ...in循环将name包含在内,但是arr的length并没有改变

    但是for..of完美解决了这个问题,只循环Array本身

    forEach用法

    Set类型:arr.forEach(function(element,sameElement,set本身){})

    Map类型:arr.forEach(function(value,key,map本身){})

    而Array可以直接获取element就可以:arr.forEach(function(element){})

  • 相关阅读:
    如何在TVM上集成Codegen(上)
    CodeGen准备存储库
    CodeGen按钮循环
    CodeGen标记循环
    CodeGen结构循环回路
    CodeGen处理Synergy方法目录
    回顾6 单点登录
    回顾 five 幂等性
    回顾 four Object
    程序员的数学基础课 笔记6
  • 原文地址:https://www.cnblogs.com/PearlRan/p/9683341.html
Copyright © 2011-2022 走看看