map跟set的区别

187 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情

大家好,我是大帅子,今天给大家讲一下,map跟set的一些区别,讲的不好,还请大家指教


1、谈谈set 、 map 是什么?

set

是es6 提供的一种新的数据结构,是对象,但是它只有键值,没有键名,所以类似于数组。且成员的值都是唯一的。

set的方法:

1.返回set对象元素的个数

set.size

2.在set对象尾部添加一个元素

set.add(value)

会改变原来的set

3.清除set中的所有元素

set.clear()

4.删除set中与这个值相同的元素

set.delete(value)

返回的是一个布尔值

5.判断有没有这个值,有返回true,没有返回false

set.has(value)

6.遍历set中的每一个元素

set.forEach()

7.返回一个新的按照插入顺序排列的对象

set.keys()

map

map对象,是es6 提供的一种新的数据结构,它类似于对象,也是键值对的集合,但是键的范围不仅限于字符串,各种类型的值都可以当做键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。

方法:

(1)map.size

可以返回这个对象所有成员的数量

(2)map.set('键名','键值')

给map对象添加键值对

(3)map.get(键名)

可以获取map对象的键值

(4)map.keys()

获取所有键名组成的集合

(5)map.has(键名)

判断有没有这个元素

(6)可以通过for ...of,forEach遍历

map和对象的区别:

(1)map中键可以是任意值,对象的键只能是字符串

(2)map中的键是有顺序的,对象中是无序的

(3)可以通过size获取所有元素的数量,对象需要手动计算

map和set的区别

(1)set和map都是es6新增的数据结构

(2)set类似于数组,但是里面的数据是唯一的

(3)map类似于对象,是键值对的集合


好了,这边已经给大家介绍到这里,以上是我自己的理解,希望可以帮到大家, 欢迎留言我这边一定会第一时间给大家解答,喜欢的可以点赞收藏
🐣---->🦅         还需努力!大家一起进步!!!