JS新增对象Map、Set

JavaScript09

JS新增对象Map、Set,第1张

Map映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。

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