Set 的合集 并集 差集
2024-10-07 09:44:58
合集
var arr1 = [,,,,,,];
var arr2 = [,,];
function union() {
//先将数组去重
let s1 = new Set(arr1);
let s2 = new Set(arr2);
//[...s1,...s2] 先将两个数组合并为一个数组
// 去重 new Set([...s1,...s2])
// 将集合变成数组 [...array]
let allUnion = [...new Set([...s1,...s2])];
console.log(allUnion);
}
union();
先声明两个数组
var arr1 = [,,,,,,];
var arr2 = [,,];
创建一个函数 调用这个函数
function union() { }
union();
合集首先里面的数组是没有 重复的 我们先将 各自的数组去重
let s1 = new Set(arr1);
let s2 = new Set(arr2);
将去重后的数组合并
[...s1,...s2]
这个时候我们得到的数组里面 可能有重复的
比如 arr1 去重后得到 [1,2,3,4,5,7], arr2 去重后 的数组为 [2,3,6]
合并数组得到 [1,2,3,4,5,7,2,3,6] 数组里面有重复的 所以我们将 这个数组再次去重
let allUnion = [...new Set([...s1,...s2])];
将集合变成数组的操作是 [...array]
输出 结果:
[ 1, 2, 3, 5, 4, 7, 6 ]
并集
function Bing () {
let s1 = new Set(arr1);
let s2 = new Set(arr2);
let s3 = [...s1].filter(item=>{
return s2.has(item)
});
console.log(s3);
}
Bing ();
使用 filter 函数进行过滤 符合或者不符合 的情况
has 函数可以用来 判断集合是否有某个 数值
输出 :
[ 2, 3 ]
差集
function Chai() {
let s1 = new Set(arr1);
let s2 = new Set(arr2);
let s3 = [...s1].filter(item=>{
return !s2.has(item)
});
console.log(s3);
}
Chai();
输出 :
[ 1, 5, 4, 7 ]
最新文章
- the import android cannot be resolved
- signalR selfhost 版本兼容问题
- RHEL6 --部署phpMyAdmin与论坛系统
- Collections.reverse 代码思考-超越昨天的自己系列(13)
- PHPExcel 导出时乱码
- jekyll 安装过程
- YTU 3008: 链串的基本运算
- 《day16_多线程细节_Eclipse使用》
- php 操作mysql 数据库
- html 商品展示框
- HttpContext之公交车
- SRM 600 DIV1
- 通过RMAN克隆11g数据库(基于active database)
- Java开发笔记(二十二)神奇的冒号
- redis hashmap数据结构分析
- Mutex对象
- python函数的用法
- Kickstart Practice Round 2017---A
- Log4j maven依赖配置
- Spark Gradient-boosted trees (GBTs)梯度提升树
热门文章
- freetype相关总结
- leetcode-mid-math-371. Sum of Two Integers-NO-???
- P1364 医院设置 (补锅,memset初始化较大值不可用0x7fffffff )
- Latex常用公式整理
- Django信号量
- delphi 跨版本DLL调用嵌入窗体实现
- 阶段3 1.Mybatis_03.自定义Mybatis框架_2.自定义Mybatis的分析-创建代理对象的分析
- 中国MOOC_零基础学Java语言_第3周 循环_1奇偶个数
- idea把java web项目打成war包
- Go语言入门篇-命令 与 语法