PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

es6的set集合怎么增加元素

青灯夜游
青灯夜游 原创
2023-01-11 17:28:14 1735浏览

es6的set集合可以使用add()方法来增加元素。set集合是一种数据结构,结构类似于数组,且没有重复的值;其内置的add()方法可以为集合添加元素,语法“set.add(值);”,添加完成后会返回set结构本身。

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

Set集合:是一种数据结构,结构类似于数组,且没有重复的值。主要用于数组去重,字符串去重。

1、操作方法

(1)add():添加值,返回Set结构本身

let set = new Set()
set.add(1);
console.log(set);
set.add(1).add(2).add(1)
console.log(set)
//注:拓展运算符 (...)可以将Set值扩展出来
console.log(...set)
console.log([...set])

在这里插入图片描述
(2)delete():删除值,冰返回一个boolean表示是否删除成功(3)has():判断该 值是否存在,并返回一个Boolean

let set = new Set()
set.add(1).add(2);
let a = set.delete(1);
console.log(set)
//注:拓展运算符 (...)可以将Set值扩展出来
console.log(...set)
console.log(a)
set.delete(3)
console.log(...set)

在这里插入图片描述
(3)has():判断该值是否存在,并返回一个Boolean

let set = new Set()
set.add(1).add(2);
let a = set.has(1);//true
let b = set.has(3);//false
console.log(a,b)

(4)clear():清除 所有值。没有返回值

let set = new Set();
set.add(1).add(2);
set.clear();
console.log(set,[...set]);//Set(0){} []

2、遍历方法:

(1)由于Set只有键值没有键名,也 可以说键 和值 是同一个(键、值相同,可以省略),所以keys和values的返回值相同

let set = new  Set();
set.add(1).add(2).add(3)
for(let i of set.keys()){   //keys遍历
    console.log(i)
}
for(let i of set.values()){ //values遍历
    console.log(i)
}
set.add('hello').add('world');
for( let i of set.entries() ){ //打印键值对
    console.log(i) 
}

在这里插入图片描述
(2)forEach():

let set = new Set();
set.add('hello').add('world');
set.forEach((key,val)=>{
    console.log(key + '||' + val)
})

在这里插入图片描述
(3)Set可以接受一个数组作为参数:

let arr = ['小红','小明','小强','小明'];
let set = new Set(arr);
console.log(...set)

在这里插入图片描述
(4)Set实现并集与交集:

let arr = [4,5,6];
let list = [5,6,7];
let setA = new Set(arr);
let setB = new Set(list);
//并集 :集合A与集合 B的并集A U B
let bj = new Set([...setA,...setB])
console.log(bj)// 返回Set结构 Set(4) {4,5,6,7}
//交集:集合A 与 集合B 的交集 A ∩ B
let jj = new Set([...setA].filter(val => setB.has(val)))//通过 filter拿到符合条件的值
console.log(jj)//Set(2) { 5, 6 }

在这里插入图片描述

【相关推荐:javascript视频教程编程视频

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。