ES6 关于Set对象
许多用以前方法去实现需要一大串代码的,用ES6竟然几句就搞定了。
Set对象是ES6中新增的类型,可以自动排除重复项,生成Set对象后,可以轻松遍历它所包含的内容。
例如,遍历字符串。
var str = new Set("Hello world!"); for(var str1 of str){console.log(str1+" ") }结果会是这样:H e l o w r d !
为什么会是这样,因为Set对象会自动排除重复项。
到了这里,我们可以很容易的想到使用Set对象进行数组去重,没错,通过该方法确实是挺方便的。
var arr = [12,23,45,34,56,56,87,23,45,12,89]; var arr1 = new Set(arr); var arr2 = []; for(var arr3 of arr1){arr2.push(arr3) } console.log(arr2)
另一种数组去重法:
function foo(arr){return Array.from(new Set(arr)) // Array.from
方法可以将 Set 结构转为数组
}
const items = [1,2,3,4,5,6,7,1,2,1,3,1,2,3]
console.log(foo(items))
Set
函数接受数组作为参数,再使用Array.from将其转换为数组,从而达到去重的目的
还有一种更简洁的;
let arr1 = [12,13,23,45,46,48,78,79,45,12,13,23];
let arr = new Set(arr1)
console.log([...arr]) // [ 12, 13, 23, 45, 46, 48, 78, 79 ]
转载于:https://www.cnblogs.com/sunjuncoder/p/9895291.html
ES6 关于Set对象相关推荐
- 【ES6】Promise对象详解
[ES6]Promise对象详解 一.Promise对象的含义 二.Promise对象的用法 三.Promise对象的几个应用[重点] 1.时间延迟函数 2.图片异步加载 查看更多ES6教学文章: 参 ...
- 【ES6】Proxy对象
[ES6]Proxy对象 一.Proxy的基本用法 二.Proxy示例的方法 1)get() 2)set() 3)apply() 查看更多ES6教学文章: 参考文献 引言:ES6规范里面新增了Prox ...
- 谈谈 ES6 的 Promise 对象
2019独角兽企业重金招聘Python工程师标准>>> 谈谈 ES6 的 Promise 对象 异步编程 promise es6 javascript 前言 开篇首先设想一个日常开发 ...
- JavaScript从入门到放弃 - ES6中的对象和类
重点讲解Tab栏切换.增.删.改 1. 面向过程与面向对象 2.ES6 中的对象与类 2.1 对象 2.2 类 2.2.1 创建类 2.2.1.1 语法 2.2.1.2 实例 2.2.2 类创建添加属 ...
- es6判断对象key是否存在,ES6中获取对象的key
ES6中获取对象的key const json = {'a': 123, 'b': 321}; Object.keys(json).forEach(key => { window.console ...
- ES6的Reflect对象
Reflect对象的方法与Proxy对象的方法一一对应,只要proxy对象上有的方法reflect也能找到. ES6将Object对象的一些属于语言内部的方法放到Reflect对象上,从Reflect ...
- es6 内置对象扩展rest, Arry 扩展方法Array.from(),find(), findIndex(),includes()
1.es6内置对象扩展rest实参 2. Arry 扩展方法 (1)构造函数方法:Array.from() (2) find() (3) findIndex() (4)includ ...
- 【ES6】es6数组中对象去重,数组对象去重方法总结---filter()与reduce()实践
es6数组中对象去重 方法一: filter()与findIndex()给数组去重 1. filter()用法 2. findIndex()用法 3. 去重实战 方法二:reduce()去重 1. r ...
- 菜鸟也谈js(一)——ES6解构对象篇
前言 为什么我会在开篇谈这样一个low到爆的问题呢?这是因为一个伟大的错误,多么痛的领悟!从前,我深深的以为,后台是权威,后台的数据必须是对的.直到有一天测试给我反馈了一个bug,我的页面崩溃了... ...
- ES6中Reflect对象使用详解(附代码)
目录 目录 Reflect的方法 Reflect.get(target, name, receiver) Reflect.set(target, name, value, receiver) Refl ...
最新文章
- 值得收藏的146条经典民间偏方
- java 异常_Java 进阶之异常处理
- linux+mmap父子通信_linux库函数mmap()原理?转载
- Windows 编程[5] - 学习窗体生成的过程五
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- python最好用的助手_推荐5款好用的Python工具
- Java到底是不是值传递
- 加载webView使用框架AgenWeb
- CS229 Lecture 20
- 未来简史--读书语句摘录及感悟
- WPF入门教程系列(5)
- 10·24|程序员节!
- 求个人所得税和税后收入
- Python机器学习建模的标准流程(特征工程+建模调参+模型评估+全流程可视化)
- SQL 涉及3个表的连接
- spring IOC DI AOP
- 为什么Java仍将是未来的主流语言?
- C语言---14文件操作---03文件加密器
- 机器人开发平台有哪些
- electron 中使用autobahn 不工作问题记录
热门文章
- atomsphere scattering almost final.
- 发布一个平滑进度条控件
- 执行mount命令时找不到介质或者mount:no medium found的解决办法
- 1.maven下仅shiro框架对shiro的测试使用
- ext.net 开发学习——常用布局(八)
- LeetCode 141. 环形链表(Linked List Cycle) 19
- 【刷题】BZOJ 4503 两个串
- WebService之基于REST机制的实现实例(Java版)
- E20180418-hm
- Mac Python IDLE中如何更改字体