js中Map对象和Set对象有什么区别?

js中Map对象和Set对象有什么区别?

阅读 13k
2 个回答

Set 对象类似于数组,且成员的值都是唯一的

const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
const set = new Set()
arr.forEach(item => set.add(item))
console.log(set) // 1, 2, 3, 4, 5

// 数组快速去重
console.log([...new Set(arr)])

Map 对象是键值对集合,和 JSON 对象类似,但是 key 不仅可以是字符串还可以是对象

var map = new Map()
var obj = { name: '小缘', age: 14 }

map.set(obj, '小缘喵')
map.get(obj) // 小缘喵

map.has(obj) // true
map.delete(obj) // true
map.has(obj) // false

set中存储无序并且不可重复的元素。
map存储的是键值对。key=>VALUE

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题