JS新增对象Map、Set

JavaScript019

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

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

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

(一)Map 数据结构

1.Map 数据结构,类似于对象,键值对的集合, 所有的数据都是唯一的,不会重复,每条数据都需要放在一个数组中,它本身就是一个构造函数

size 数据的长度

set() 添加一个数据

delete() 删除一条数据

get () 获取一条数据

has() 查找某条数据,返回一个布尔值

clear() 删除所有数据

参考资料: https://www.51zxw.com/