美文网首页
es6解读2: 数据结构介绍

es6解读2: 数据结构介绍

作者: HowlEagle101Div | 来源:发表于2017-10-27 10:49 被阅读0次
Set用法:set数据类型的元素,必须是唯一的;添加重复的元素不会报错,只是不会生效;
let arr=[1,2,3,4,2,1,2,3,2];
    let list=new Set(arr);
    console.log(list) //{1, 2, 3, 4} 既不是数组类型 也不是object类型
  • 穿插小知识
判断数据类型的几种方法 Object.prototype.toString.call(list)  list instanceof Array  typeof list
 es6新增属性 判断两属性是否相等 Object.is(obj1,obj2) 返回true/false
  • 可以用来去重
  • 在进行数据转换时 不会进行数据类型的隐式转换;
  • Set()实例
    1. add() 添加元素
    2. delete() 删除元素
    3. clear() 清空元素
    4. has() 判断元素中是否有某个内容
    let arr=['add','delete','clear','has'];
    let list=new Set(arr);
    console.log(list.has('add'))  //true
    console.log(list.delete('add'),list)  // {"delete", "clear", "has"}
    console.log(list.clear(),list)  //{}
  • Set实例遍历
    //1:遍历属性名
     for(let key of list.keys()){
         console.log(key)  //add, delete, clear, has
     }
    
     //2:遍历属性值
     for(let value of list.values()){
         console.log(value) //add, delete, clear, has
     }
    
     //3:遍历属性名和属性值
     for(let [key,value] of list.entries()){
         console.log(key,value) //add add, delete delete,clear clear, has has
     }
    
    //4: forEach遍历
    list.foreach(function(item,key){
       console.log(item+" === "+key) //add === add, delete === delete,clear === clear, has === has
    })
    

WeakSet的用法

  • let weakList = new weakSet();
  • weakSet 和 Set 的区别
    • 支持的数据类型不一样
    • weakSet只能存储对象
    • weakSet中的对象是弱引用,不会检测地址是否被垃圾回收掉;
    • weakSet 没有size属性,没有clear方法,不支持遍历;

Map的用法

  • Map 的属性名可以是任意数据类型
  • Map增加值用set,获取值用get
  • Map的两种用法
  //第一种写法:
   let map=new Map();
   let arr=['123'];
   map.set(arr,456);
   console.log('map',map,map.get(arr))  //{Array(1) => 456} 456

  //第二种写法
   let map=new Map([['a',123],['b',456]])
   console.log(map) //{"a" => 123, "b" => 456}
  • map常用的属性值和方法
    • map.size 长度
    • set设置,get获取
    • delete() 删除; clear()清空

WeakMap的用法

  • weakMap和map的区别:
    • 前者接收的值只能是对象
    • 他没有set属性,不能使用clear()
    • 不能遍历; 跟weakSet和set的区别一样;

相关文章

  • es6解读2:数据结构介绍

    Set的用法:set数据类型的元素,必须是唯一的;添加重复的元素不会报错,只是不会生效; 他在转换元素的时候,不会...

  • es6解读2: 数据结构介绍

    Set用法:set数据类型的元素,必须是唯一的;添加重复的元素不会报错,只是不会生效; 穿插小知识 可以用来去重 ...

  • 写给2017.12.31号的自己

    1.希望你能把es6的map还有set做完,每天用es6写两道数据结构与算法题 2.学习java spring 最...

  • ECMAScript 6重点一览——进阶篇

    背景介绍 在之前的基础篇已经给出了ES6在数据结构上做的优化和改变,那这一篇进阶篇就来说说ES6的对象变化,顺便给...

  • 彻底弄懂ES6中的Map和Set

    摘要: 2个很有用的数据结构。 原文:彻底弄懂ES6中的Map和Set 作者:pubdreamcc Fundebu...

  • 详解ES6中的 Set Map 数据结构学习总结

    ES6中的 Set 数据结构 ES6 新增了一种 Set 数据结构。它类似数组。 最重要的一点是 Set中的结构成...

  • ES6系列之Set和Map

    今天,我们来学习一下ES6中新增的两个数据结构:Set和Map。 Set ES6 提供了新的数据结构 Set。它类...

  • ES6学习笔记(三)字符串的扩展

    1、字符的unicode表示法 ES6 ,只要将码点放入大括号,就能正确解读该字符 2、codePointAt()...

  • es6解读3:数据结构对比

    数据结构-和数组的对比 Map与Array的对比,从增删改查出发 Set与Array的对比 数据结构- 和对象Ob...

  • es6解读3:数据结构对比

    数据结构和数组对比 Map与Array的对比,从增删改查出发 Set 和 Array的对比 数据结构 和 Obje...

网友评论

      本文标题:es6解读2: 数据结构介绍

      本文链接:https://www.haomeiwen.com/subject/jhdrpxtx.html