博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一行代码实现数组去重(ES6)
阅读量:5337 次
发布时间:2019-06-15

本文共 807 字,大约阅读时间需要 2 分钟。

  1. 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}
  2. ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的SetMap等可遍历对象,如:

    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]

转载于:https://www.cnblogs.com/missguolf/p/8185392.html

你可能感兴趣的文章
第八周
查看>>
iOS-打电话、发短信、发邮件、打开浏览器
查看>>
[Swift]LeetCode646. 最长数对链 | Maximum Length of Pair Chain
查看>>
Echars 在界面上自适应问题
查看>>
[Vue-rx] Share RxJS Streams to Avoid Multiple Requests in Vue.js
查看>>
201621123023《Java程序设计》第10周学习总结
查看>>
Alpha 冲刺 (5/10)
查看>>
得到程序当前UAC的执行权限,高 - 中 - 低
查看>>
作为测试新人该如何提升呢?
查看>>
iOS开发--图片轮播
查看>>
Visual Studio中从应用程序中调试SQL脚本
查看>>
BZOJ4115 : [Wf2015]Tile Cutting
查看>>
BZOJ1396 : 识别子串
查看>>
h5-画板
查看>>
app.json解释(待续)
查看>>
Python学习笔记-数据类型,运算,变量
查看>>
01 python初学(注释、交互、if while for)
查看>>
PyCharm设置改变字体大小的快捷键
查看>>
让.Net程序能够在UAC开启状态下运行
查看>>
02-Subversion安装与配置
查看>>