当前位置:网站首页>set数组去重及与map

set数组去重及与map

2022-08-11 11:51:00 -加油

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) {}
原网站

版权声明
本文为[-加油]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_51040174/article/details/124848137