持续创作,加速成长!这是我参与「掘金日新计划 · 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类似于对象,是键值对的集合
好了,这边已经给大家介绍到这里,以上是我自己的理解,希望可以帮到大家, 欢迎留言我这边一定会第一时间给大家解答,喜欢的可以点赞收藏
🐣---->🦅 还需努力!大家一起进步!!!