我的网站开发技术经验总结 我的网站开发技术经验总结
首页

fangdown

我的网站开发技术经验总结
首页
  • 大前端

  • 基础

    • js

    • css

    • ES6

      • 说说对模块化的理解
      • 说说ES6中对象新增了哪些扩展
      • 说说ES6中函数新增了哪些扩展
      • ES6中数组的常用方法
      • 说说ES6中新增的Set、Map的区别
        • 是什么
          • 区别
        • 怎么用
          • Set
          • Map
        • WeakSet、WeakMap
        • 原理
        • FAQ
      • 说说ES6中Decorator的理解
      • 说说ES6中Generator的应用
      • 说说ES6中Promise的常用方法及原理
      • 说说ES6中Proxy的理解
      • 说说var、let、const之间的区别
  • 框架

  • 情商

  • 算法

  • 网络

  • 千锤百炼
  • 基础
  • ES6
fangdown
2021-08-18
目录

说说ES6中新增的Set、Map的区别

# 是什么

Set: 一种叫集合的数据结构

Map: 一种叫字典的数据结合

# 区别

  • 都可以存储值
  • set存储不重复的值, 以[值,值]方式
  • map存储键值对的值

# 怎么用

# Set

const res = new Set()
  • 方法: add()、delete()、has()、clear()
res.add(1).add(2) // [1,2]
res.delete(1) // [2]
res.has(2) // true
res.clear() // []
  • 遍历:keys()、values()、enties()、forEach()
let res = new Set(['red', 'green', 'blue']);
for(let item of res.keys()){
  console.log(item)
}
res = new Set(['red', 'green', 'blue']);
for(let item of res.values()){
  console.log(item)
}
res = new Set(['red', 'green', 'blue']);
for(let item of res.enties()){
  console.log(item)
}
res.forEach(item => console.log(item))
  • 交集、并集、差集
let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
let union = new Set([...a,...b])
let jiaoji = new Set([...a].filter(item => b.has(item)))
let chaji = new Set([...a].filter(item=> !b.has(item)))
console.log(union) // Set(4) {1, 2, 3, 4}
console.log(jiaoji) // Set(2) { 2, 3}
console.log(chaji) // Set(1) {1}

# Map

const res = new Map()
  • 方法:size(属性), set(), get(), has(), delete(), clear()
const res = new Map()
res.set('name', 'fang')
res.set('age', 18)
res.size // 2 
res.get('name') // fang
res.has('age') // true
res.delete('age') // true
res.clear() 

# WeakSet、WeakMap

基本类似Set和Map

区别:

  • 键值部分必须是对象
  • 没有遍历方法
  • 没有clear方法

# 原理

# FAQ

#ES6
上次更新: 2021/12/19, 18:05:42
ES6中数组的常用方法
说说ES6中Decorator的理解

← ES6中数组的常用方法 说说ES6中Decorator的理解→

最近更新
01
多分支修复撞车的问题
05-01
02
如何成为架构师
01-23
03
服务器部署全过程
11-23
更多文章>
Theme by Vdoing | Copyright © 2019-2026 fangdown | 粤ICP备19079809号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式