new Map() 和 new Set()的用法(javascript)

已被阅读 1567 次 | 文章分类:javascript | 2021-11-25 23:23

Map和Set是javascript中的两种数据结构;功能比普通的对象和数组特殊一点

1 作用

Map() 用来存储键值对,是键值对的集合;即用来管理键值对(key:value)

Set() 用来存储键,是键的集合;即用来管理一组键(key)

2 Map()基础用法

如下,可以在控制台测试map集合的基础方法

                                            
// 新建Map集合
var m1=new Map()
// 添加键值对
m1.set("name","xiaobaigis")
// 添加键值对
m1.set(5,"number")
// 判断是否有指定键
m1.has(5)
// 删除指定键
m1.delete(5)
// 再判断是否存在某指定键
m1.has(5)
// 清空map集合
m1.clear()
// 获取集合大小
m1.size()
                                            
                                        

通过观察发现:键名可以是数字,字符串,对象等类型

3 Set()基础用法

根据如下步骤,在控制太操作set集合,直观感受set集合的特点

                                            
// 创建set空集合
var s1=new Set()
// 添加数字
s1.add(2)
// 添加数字
s1.add(2)
// 添加字符串
s1.add('name')
// 添加对象
s1.add({})
// 判断是否存在该键
s1.has(2)
// 判断是否存在该键
s1.has(3)
// 删除键2
s1.delete(2)
// 判断是否存在该键
s1.has(2)
// 集合大小
s1.size
                                            
                                        

通过观察可以发现:

(1) set集合可以添加数字,字符串,对象等类型的键

(2) 键不重复

初始化set集合;

                                            
var s2 =new Set([2,3,4,5,63,2,3,2,3])  // {2, 3, 4, 5, 63}
console.log([...s2]) // [2, 3, 4, 5, 6]
var s3 =new Set(["name","sfd","name"]) // {'name', 'sfd'}
console.log([...s3]) // ['name', 'sfd']
                                            
                                        

所以Set集合可以用来数组去重

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号