ES6(6):Set 和 Map

一、Set

1. 声明一个 set
let s = new Set();
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
console.log(s,typeof s);
console.log(s2);

在这里插入图片描述

2. 元素个数
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
console.log(s2.size);

在这里插入图片描述

3. 添加新的元素
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
s2.add('喜事儿');
console.log(s2);

在这里插入图片描述

4. 删除元素
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
s2.delete('坏事儿');
console.log(s2);

在这里插入图片描述

5. 检测是否有,查询元素
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
console.log(s2.has('糟心事'));

在这里插入图片描述

6. 清空
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
s2.clear();
console.log(s2);

在这里插入图片描述

7. 遍历
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);
for(let v of s2){
    console.log(v);
}

在这里插入图片描述

二、Set 实践

let arr = [1,2,3,4,5,4,3,2,1];
let arr2 = [4,5,6,5,6];
1. 数组去重
let result = [...new Set(arr)];
console.log(result);

在这里插入图片描述

2. 交集
let result = [...new Set(arr)].filter(item => {
    let s2 = new Set(arr2);// 4 5 6
    if(s2.has(item)){
        return true;
    }else{
        return false;
    }
});

console.log(result);
//简写
let result = [...new Set(arr)].filter(item => new Set(arr2).has(item));
console.log(result);

在这里插入图片描述

3. 并集
let union = [...new Set([...arr, ...arr2])];
console.log(union);

在这里插入图片描述

4. 差集
let diff = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)));
console.log(diff);

在这里插入图片描述

三、Map

1. 声明 Map
let m = new Map();
console.log(m);

在这里插入图片描述

2. 添加元素
m.set('name','Jack');
m.set('work', function(){
    console.log("我要好好学习!!");
});
let key = {
    school : '这是一个学校名称'
};
m.set(key, ['北京','上海','深圳']);
console.log(m);

在这里插入图片描述

3. 大小
let m = new Map();
m.set('name','Jack');
m.set('work', function(){
    console.log("我要好好学习!!");
});
let key = {
    school : '这是一个学校名称'
};
m.set(key, ['北京','上海','深圳']);

console.log(m.size);

在这里插入图片描述

4. 删除
m.delete('name');
console.log(m);
 

在这里插入图片描述

5. 获取
console.log(m.get('work'));
console.log(m.get(key));

在这里插入图片描述

6. 清空
m.clear();
console.log(m);

在这里插入图片描述

7. 遍历
for(let v of m){
    console.log(v);
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值