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

  • 相关阅读:
    Window 窗口类
    使用 Bolt 实现 GridView 表格控件
    lua的table库
    Windows编程总结之 DLL
    lua 打印 table 拷贝table
    使用 xlue 实现简单 listbox 控件
    使用 xlue 实现 tips
    extern “C”
    COleVariant如何转换为int double string cstring
    原来WIN32 API也有GetOpenFileName函数
  • 原文地址:https://www.cnblogs.com/PearlRan/p/9683341.html
Copyright © 2011-2022 走看看