ES6 利用集合Set解决数组 交集 并集 差集的问题
2024-10-19 18:26:50
根据阮一峰老师的ES6教程自己体会而写的,希望能给一些朋友有帮助到
let a = new Set([1,2,3,4])
let b = new Set([2,3,4,5,])
并集
let union = [...new Set([...a,...b])] // [1,2,3,4,5]
交集
let intersect = [...new Set([...a].filter(n => b.has(n)))] // [2,3,4]
差集
let difference = [...new Set([...a].filter(n => !b.has(n)))] // [1]
多维数组如何平拉层一维数组?ES6的数组提供一个flat函数
[1,2,[3,[4,5]]].flat() // [1,2,3,[4,5]]
flat() 无参数时候默认是拉平一层,要想拉平多层,可以传递Infinity参数,可以拉平无数层
[1,2,[3,[4,[5,[6,[7,[8,9]]]]]]].flat(Infinity) // [1,2,3,4,5,6,7,8,9]
最新文章
- html学习第三天—— 第11章 盒子模型 div
- Codeforces Round #248 (Div. 2) C. Ryouko's Memory Note
- 函数参数为int*和int&;的区别
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
- (十)unity4.6学习Ugui中文文档-------參考-UGUI Canvas Components
- 小技巧之jQueryMobile
- ListView判断滑动底部
- Android学习笔记:多个AsyncTask实例的并发问题
- c#导入excel 绑定数据 repeat为例子
- 生命周期函数以及vue的全局注册
- python之通过thread来实现多进程
- Spring Jdbc 框架整合的第一天
- Intellij-忽略其他编译错误,运行当前文件
- 安装astrixx firefox插件
- 轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单 demo
- 一个十分好用的动画工具:Velocity.js
- EventBus 3.0源码解析
- Django 模板语言从后端传到前端
- robot framework Selenium2关键字介绍
- 最值得阅读学习的 10 个 C 语言开源项目代码