一行代码实现数组去重(ES6)
2023-09-27 14:26:14 时间
-
ES6中新增了
Set
数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); console.log(set); // => Set {1, 2, 3, 4, 5}
-
ES6中
Array
新增了一个静态方法Array.from
,可以把类似数组的对象转换为数组,如通过querySelectAll
方法得到HTML DOM Node List
,以及ES6中新增的Set
和Map
等可遍历对象,如:let set = new Set(); set.add(1).add(2).add(3); let array = Array.from(set); console.log(array); // => [1, 2, 3]
于是,现在我们可以用一行代码实现数组去重了:
let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));
console.log(array);
// => [1, 2, 3, 4]
附:ES5实现数组去重
var array = [1, '1', 1, 2, 3, 2, 4];
var tmpObj = {};
var result = [];
array.forEach(function(a) {
var key = (typeof a) + a;
if (!tmpObj[key]) {
tmpObj[key] = true;
result.push(a);
}
});
console.log(result);
// => [1, "1", 2, 3, 4]
相关文章
- Node.js 中使用 ES6 中的 import / export 的方法大全
- ECMAScript6-ES6数组Api:迭代遍历方法【forEach、map、filter】、归并聚合方法【reduce】
- es6 Array.form将类数组或者对象转化为数组
- 「经典题」ES6新特性有哪些?
- 17.ES6新特性:Promise对象_Ajax实操
- 前端学习笔记之ES6快速入门
- es6数组的一些函数方法使用
- ES6 对象的扩展
- Elasticsearch前沿:ES 5.x改进详解与ES6展望
- 《模块化系列》彻底理清 AMD,CommonJS,CDM,UMD,ES6
- ES6 基础知识
- JavaScript常用数组操作方法,包含ES6方法
- ES6新特性④
- es6 Map
- ES6新手入门
- ES6 数据校验
- ES6 从入门到精通 # 05:函数之扩展运算符、箭头函数
- ES6学习之路5----数组方法
- vue2.x Cnode社区是基于vue、vue-router、vuex、axios、es6开发
- es6+webpack+vue项目实践
- ES6 系列之模块加载方案
- es6笔记5^_^set、map、iterator
- ES6笔记 - Generator函数