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){})

  • 相关阅读:
    HBase常用Shell命令
    在Eclipse中创建Maven多模块项目
    在IntelliJ IDEA中创建Maven多模块项目
    在IntelliJ IDEA中创建Web项目
    【Python】如何安装easy_install?
    RabbitMQ从入门到精通
    Erlang语言入门
    Eclipse背景颜色改动
    导出Excel1
    计算机概述
  • 原文地址:https://www.cnblogs.com/PearlRan/p/9683341.html
Copyright © 2011-2022 走看看