es6新增的set和map怎么使用???

188 阅读1分钟
set:可以理解成是不重复的数组
  • add:添加一个值
    delete:删除一个值
    clear:删除所有值
    通过for of 来遍历set数据结构


var s = new Set()   // 添加的自动去重 对象   s.add(20)   s.add(10)   s.add(10)   s.add(10)    console.log(s)    console.log(s.size)  // 有几个值 2    console.log("删除",s.delete(10))  // 第二个参数未true 表示删除一个值    console.log(s) // 输出的时候就成了一个值     s.clear()  // 清空    console.log(s)

  • 可以实现哪些功能

eg:数组去重

 var arr = [1,15,2,4,6,5,8,5,8,5,5,8,41,525,1]  console.log(new Set(arr))  // 直接去重  console.log(Array.from(arr))

 或[...new Set(arr)]

set官文档:developer.mozilla.org/zh-CN/docs/…

map:可以理解成是一个对象

  •  注意:注意这里的map是一个构造函数,不是数组中的map
    
     优点:可以将将任意的数据类型的值当作对象的属性来使用,避免了传统的对象属性只有是字符串类型

map官方mdn文档:developer.mozilla.org/zh-CN/docs/…

   var m = new Map()   m.set("name","alice")  //map添加值得方法是运用set   var info = {ad:"广告"}   m.set(info,"这是存放广告的地方")   console.log(m)