Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字符串,其他各种类型的值包括对象都可以成为Map的键
Set也是ES6新增的对象,Set是一组key的集合,但不存储value, 而且key不重复,可自动排重
add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
has(value):返回一个布尔值,表示该值是否为Set的成员。
clear():清除所有成员,没有返回值。
原文链接: https://blog.csdn.net/hot_cool/java/article/details/83685046
jsmap不能直接编辑对象。需要先创建一个Map实例对象,接着介绍对象的属性及方法,Map类似于普通对象的使用,拥有键值对,但它的键不仅仅只是字符串而已,还可以是对象等其他数据类型。对象类似于数组,且成员的值都是唯一的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