数组去重--ES6方法
2024-10-20 00:53:02
let arr = [1,2,3,4,4,5,2];
console.log([...new Set(arr)]) // [1, 2, 3, 4, 5]
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set 本身是一个构造函数,用来生成 Set 数据结构。
const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) {
console.log(i);
}
// 2 3 5 4
扩展运算符(spread)是三个点(...
)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。
console.log(...[1, 2, 3])
// 1 2 3 console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5 [...document.querySelectorAll('div')]
// [<div>, <div>, <div>]
=======================================================================
数组去重方法2:用es6的set和数组扩展Array.from
let arr = [1,2,3,4,4,5,2];
console.log(Array.from(new Set(arr))) //[1, 2, 3, 4, 5]
Array.from
方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。
下面是一个类似数组的对象,Array.from
将它转为真正的数组。
let arrayLike = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
}; // ES5的写法
var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c'] // ES6的写法
let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
最新文章
- C#_技巧:字符串分组排序
- ubuntu静态DNS配置,重启继续生效
- Karma:2. 集成 Karma 和 mocha 进行单元测试
- 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)
- 用MSoffice里的绘图工具
- Win7/8下提示OpenSCManager failed 拒绝访问
- 《foreach循环示例》
- 企业应用架构模式阅读笔记 - Martin Fowler
- MySQL之建设工程监管信息系统
- 《linux 网卡别名的添加和绑定》RHEL6
- 关于join算法的四篇文章
- HTML select 操作
- display:table- cell属性的练习
- Windows Bridge for iOS: Let’s open this up
- 【hihoCoder第十四周】无间道之并查集
- poj 1157 LITTLE SHOP_简单dp
- known good die( KGD) /确认好裸芯片,合格芯片
- SQL窗体函數一例
- bat(批处理文件)初步 第一篇 基本符号
- STM32伺服编码器接口
热门文章
- 利用Runtime对Ivar实例变量进行共用的归档和解档方式
- 【MySQL报错】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- 洛谷 P2176(最短路)
- RadioButtonList
- 数据库——SQL SERVER Transact-SQL 程序设计
- win10启动telnet
- vs code搭建Django环境
- Maven项目 - OpenFeign使用细节 - 从此和httpClient说再见
- Java性能 -- Lock优化
- CSS @规则