set数组去重及与map

14 篇文章 0 订阅

1、set创建有两种
用add、直接传入数组。

const s1 = new Set()
s1.add(1)
s1.add(2)
s1.add(3)
const s2 = new Set([1,2,3])
console.log(s1)
console.log(s2);

2、set不含重复

const s = new Set()
s.add(1)
s.add(2)
s.add(3)
s.add(3)
console.log(s);//还是Set(3) { 1, 2, 3 }

3、delete删除、
has是否含有、
size 长度
clear 清空

const s2 = new Set([1,2,3])
s2.delete(2)
console.log(s2);//Set(2) { 1, 3 }
console.log(s2.has(3));//true   有3这个元素
console.log(s2.size);//2        长度为2
s2.clear(); // 清空
console.log(s2);//  Set(0) {}

4、两种方法转换为数组

const s = new Set([1,2,3,4])
const arr = [...s]//转换成数组
const arr2 = Array.from(s)//另一种转换成数组
console.log(arr);
console.log(arr2);

5、数组去重

const arr = [1,2,3,2,2,4]
console.log([...new Set(arr)]); //[ 1, 2, 3, 4 ]

const arr1 = [...new Set(arr)]
console.log(arr1);             //[ 1, 2, 3, 4 ]

const arrset = new Set(arr);
const arr2 = Array.from(arrset)
console.log(arr2);            //[ 1, 2, 3, 4 ]

但是引用数据类型不能去重
如下

6、map
键值对

const map =new Map()
//key value
map.set('name','老子')
map.set(true,996)
map.set(179,'哈哈哈哈')
const map2 = new Map([['name','老子'],[true,996],[179,'哈哈哈哈']])
console.log(map);//Map(3) { 'name' => '老子', true => 996, 179 => '哈哈哈哈' }
console.log(map2);//Map(3) { 'name' => '老子', true => 996, 179 => '哈哈哈哈' }
console.log(map.has('name'));//true      有 'name'这个key
console.log(map.get('name'));//老子      获取它的value值
map.delete('name')//删除 这个key  及value
console.log(map);//Map(2) { true => 996, 179 => '哈哈哈哈' }
map.clear()// 清空map
console.log(map); //Map(0) {}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值