重学ES系列之Set实现数组去重、交集、并集、差集
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Set实现数组去重、交集、并集、差集</title>
</head>
<body>
</body>
<script>
let {log} = console;
let arr = [1,2,3,3];
let arr1 = [1,2,3,3,5];
// 去重
let set1 = new Set([...arr]);
log([...set1]);// [1,2,3]
// 并集
let set2 = new Set([...arr, ...arr1]);
log([...set2]);// [1,2,3,5]
// 交集
let set3= new Set([...set1].filter(x=>new Set([...arr1]).has(x)));
log([...set3]);// [1,2,3]
// 差集
let set4 = new Set([...set2].filter(function (x) {
return !set1.has(x)
}))
log([...set4]); // [5]
let setarr1 = new Set([1,2]);
setarr1.add(0);
log(setarr1);
setarr1.delete(2);
log(setarr1);
</script>
</html>
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/119836538
重学ES系列之Set实现数组去重、交集、并集、差集的更多相关文章
- 【转】 js数组 Array 交集 并集 差集 去重
原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上, ...
- 重学ES系列之过滤数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之模版字符串
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之新型数据结构Map应用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之字符串方面的处理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之函数优化
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之新增的几个循环方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之拓展运算符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 重学ES系列之变量的作用范围
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- css 第二排文字居中
text-align: center; 超过长度 自动换行居中
- JavaScript基础第04天笔记
JavaScript基础第04天笔记 1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以 ...
- node.js - 路由、中间件、mysql
这几天天天搞到这么晚,我看今天的内容看起不多啊,不知道为什么学着学着就到了这么晚.今天的内容还是有点多哈,有点自我矛盾了,再次一一道来. 1. 首先今天先看到路由的概念,什么叫做路由? 路由就是映射关 ...
- Anaconda下安装Tensorflow、keras问题及解决办法
这两天一直在跟tensorflow的错误日志作斗争!安装过程中出现各种问题,找资料,采坑,终于装好了,做个小总结! keras需要在TensorFlow之上才能运行,所以需要先安装TensorFlow ...
- 发布nuget包的正确姿势---cicd自动打包发布nuget包
最轻便的发布nuget包方式,方便cicd自动打包发布nuget包 首先新建项目 项目名随便取,这里就叫它GuiH.ClassLibrary 默认即可,需要改目标版本时,等创建好再改 项目创建好了 随 ...
- 手写一个bind
1 Function.prototype.bind1 = function(){ 2 // 将类数组转化成数组 3 let arr = Array.prototype.slice.call(argum ...
- 【干货】BIOS、UEFI、MBR、GPT、GRUB 到底是什么意思?
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 01 前言 在学习 Linux 系统启动原理之前,我们先了解下与操作系统启动相关的几个概念. 02 与操作系统启动相关的几个 ...
- 如何使用Shell写一个显示目录结构的命令?
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 在Linux中使用Shell写一个显示目录结构的命令,快速寻找目录结构. 1.代码 #!/usr/bin/env bash ...
- vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践
vivo 互联网大数据团队-Lv Jia Hadoop 3.x的第一个稳定版本在2017年底就已经发布了,有很多重大的改进. 在HDFS方面,支持了Erasure Coding.More than 2 ...
- arts-week11
Algorithm 69. Sqrt(x) - LeetCode Review Building a network attached storage device with a Raspberry ...