JS——Map对象 Set对象

Map(key,value)

Map 对象是存储键值对的集合,并且能够记住键的原始插入顺序。具有极快的查找速度。

  1. 创建
    第一种:创建的时候进行初始化
let map = new Map([
  [1, 'one'],
  [2, 'two'],
  [3, 'three'],
]);

第二种:创建空的Map,然后添加元素

let map=new Map() 
        map.set(1,'one') 
        map.set(2,'two')
        map.set(3,'three')
  1. 常用属性和方法
//属性
map.size;//输出map对象的长度
//方法
map.set(4,'four');//添加元素
map.has(1)//true 括号内填写键值,返回布尔值,判断是否存在键值1
map.get(1)//one 括号内填写键值,返回键值对应的值
map.keys() //返回键值的集合
map.values()//返回值的集合
map.delete(2)//根据键值删除对应的值
map.clear()//删除所有值,清空
  1. 遍历
    forEach:
let map=new Map() 
        map.set(1,'one')  
        map.set(2,'two')
        map.set(3,'three')
        map.forEach(function(value, key) {
            console.log(key + '='+ value);
        })
        //输出
        //1=one 2=two 3=three

for of:

let map = new Map();
        map.set(1,'one')  
        map.set(2,'two')
        map.set(3,'three')
        
for (let [key, value] of map) {
  console.log(key + " = " + value);
}
// 输出 1=one 2=two

for (let key of map.keys()) {
  console.log(key);
}
// 输出0,1

for (let value of map.values()) {
  console.log(value);
}
// 输出 one two
  1. 特点
    一个key值只能对应一个value值,多次对一个key放入value,后边的值会将前边的值覆盖掉。(key值不可重复,value可以重复
    举例:
<body>
    <script>
        let map=new Map()
        map.set(1,'one')
        map.set(1,'two') 
        console.log(map.get(1))
        //输出two,one被two覆盖
    </script>
</body>

Set(key)

Set对象和Map对象类似,也是一组key的集合,但不存储value。且key是唯一的

  1. 创建
    第一种:创建的时候初始化
let set=new Set([1,2,3])

第二种:创建一个空的Set,然后添加元素

let set=new Set()
	set.add(1)
	set.add(2)
	set.add(3)
  1. 常用属性和方法
//属性
Set.size()//返回集合所包含元素的数量
//方法
Set.add(1)//向集合添加一个新的项
Set.has(1)//判断集合中是否含有1,返回布尔值,有true,没有false
Set.delete(1)//从集合中删除1
Set.clear()//清空集合中的所有值
Set.values()//输出所有的值
  1. 遍历
    forEach:
let set=new Set()
	set.add(1)
	set.add(2)
	set.add(3)
set.forEach(function(value) {
    console.log(value);
});
//输出1,2,3

for of:

let set=new Set()
	set.add(1)
	set.add(2)
	set.add(3)
	
for (let value of set) {
	console.log(value);
}
//输出1,2,3

for (let value of set.values()) {
	console.log(value);
}
//输出1,2,3
  1. 特点
    key值不能重复。
let set=new Set()
	set.add(1)
	set.add(2)
	set.add(3)
	set.add(3)
console.log(set)
//可以重复添加,但是不会有效果,set的值依然是:set={1,2,3}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值