vue-map/set(ES6)

Set
1、类似于数组,键和值都是一样的
2、不允许有重复的元素出现

//1、 创建一个set集合
let set = new Set(["zhuangsan","lisi","wangwu"]);
console.log(set);

//2、一个属性 size
console.log(set.size);

//3、四个方法

//3.1 add
set.add("liudehua").add("xixi");//支持列式调用
//add返回一个对象
console.log(set);


//3.2删除
console.log(set.delete("xixi"));//返回一个布尔类型值,true/false
console.log(set);

//3.3 has
console.log(set.has("xixi"));//返回布尔类型,判断集合中是否有某个数据

//keys values 键和值是一样的 iterator构造器
console.log(set.keys());//直接获取这个set集合
console.log(set.values());

//3.4 clear
console.log(set.clear());//undefined 没有返回值
console.log(set);//清空集合

map
1、和对象类似,本质上是键值对的集合
2、map的键可以是各种类型的值,对象/数字/字符串…
3、但是在一般对象中,键只能用字符串来命名

let obj={a:1},obj1={b:2};
obj[obj1]='tiankong';//把obj1作为obj的键,对应的值为‘tiankong’
console.log(obj);
//普通情况下,要用一个对象作为键时,首先会把该对象.toString()
//普通情况下,键只可以是字符串

创建一个map

let map=new Map([[…,…],[…,…]]);

map常用属性

/map常用属性
console.log(M.size);//计算map长度

//set get set类似于add添加
M.set("qw",["ki","kji"]);//可以不断设置,返回的是对象
console.log(M);
console.log(M.get(1));//传入键,输出值


//delete
console.log(M.delete(1));//返回布尔类型,true/false
console.log(M);

//keys value
console.log(M.keys());
console.log(M.values());
console.log(M.entries());
console.log(M);//和有构造器的有什么区别

//遍历
M.forEach(function (value,index) {
  console.log(value);
  console.log(index);
})

注意事项

如果map集合中有键相等的元素,后面设置的值会覆盖之前设置的

M.set({},"hhhh");
M.set({},"dd");

console.log(M.entries());//两个都添加进去了

//由于两个对象地址不同,所以不会覆盖

console.log({}==={});//false 虽然是两个空对象但是他们自己不同,地址就不相同

但是如果是两个空对象作为同一个键放在map中,不会被覆盖
因为每次创建一个对象,他们都有自己的存放位置,而不是和前面的占用同一个地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值