JavaScript中的Map对象和Set对象


前言

提示:对象和对象有什么区别

Object对象:Map对象:Set对象有什么区别,以及各自的优缺点和用法


提示:以下是本篇文章正文内容,下面案例可供参考

一、map对象

1.map对象简介

Map对象和object一样是用于保存键值对。但是Map对象任何值(对象或者原始值) 都可以作为一个键或一个值。

2.map对象常用的几大方法

  1. new Map() 创建新的 Map 对象。 
    
	let mymap= new Map(['name', '洛'], ['age', 100], ['Tracy', 85]]);创建一个新的map对象
	mymap.set('key',"value");
	mymap.get("key");//通过key值获取到value值
	mymap.entries();//循环出key和value值
	mymap.keys()//;循环出每一个key值
	mymap.values();//循环出每一个value值
	mymap.size//获取长度,映射数量
  1. new Map() 创建新的 Map 对象
    
  2. set() 为 Map 对象中的键设置值。
    
  3. get() 获取 Map 对象中键的值。
    
  4. entries() 返回 Map 对象中键/值对的数组。
    
  5. keys() 返回 Map 对象中键的数组。
    
  6. values() 返回 Map 对象中值的数组。
    
  7. size 返回长度,同length
    

1.map对象的特性

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Map 对象记得键的原始插入顺序。
Map 对象具有表示映射大小的属性。

二、 Set对象

1.Set对象简介

Set对象常用于数组去重

2.Set对象常用的几大方法

	 new Set() 创建新的 Set 对象。
	 add() 向 Set 添加新元素。
	 clear() 从 Set 中删除所有元素。
	 delete() 删除由其值指定的元素。
	 has() 如果值存在则返回 true。
	 forEach() 为每个元素调用回调。
	 keys() 返回 Set 对象中值的数组。
	 size 返回元素个数


let myset= new Set();创建一个新的Set对象
	myset.add();//向 Set 添加新元素。
	myset.clear();//从 Set 中删除所有元素。
	myset.delete();//删除由其值指定的元素。
	myset.keys()//;循环出每一个key值
	myset.has()//如果值存在则返回 true。
	myset.size;//获取长度,映射数量

区别

1.Set和Map的区别

Set对象可以接收一维数组和字符串类型添加值
Set对象只有value值
Set对象可以对数组去重
Map和Set调用的方法不同

2.Set和Object的区别

共同点
二者都是以key-value的形式对数据进行存储;
不同点
key的数据类型范围不同
obj可以作为key的仅有number、string、symbol。
map均可以。

key的顺序不同
obj通过obj.keys()打印出来的属性顺序是 number–字符串
map的key顺序是声明顺序。

创建方式不同
obj有三种创建方式 字面量{}、new Object() 、构造函数。
map仅支持new Map()

key的调用不同。
map只能用原生的get方法调用。

设置属性的方式不同
map只能使用set(key,val)方法设置属性。

Size属性
map有size属性,对象没有。Map.size 返回 Map 中元素的数量,而 Object 的键值对个数只能手动计算

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明日筑梦师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值