数组去重(初识ES6)
较常见的一问题:数组去重。
方法一:利用hash数组的原理
- var arr=[1,3,3,4,5,5,6,6,7,8,69,8,99,9,0,];
- function unique(arry){
- var newArry=[];
- for(let i=0;i<arr.length;i++){
- if(!newArry[arr[i]]){
- newArry[arr[i]]=arr[i];
- }
- }
- return newArry;
- }
- console.log(unique(arr));
方法二:indexOf方法的使用(有一定的兼容性问题)
- var arr=[1,3,3,4,5,5,6,6,7,8,69,8,99,9,0,];
- function unique(arry){
- var newArray=[];
- for(let i=0;i<arr.length;i++){
- if(newArray.indexOf(arr[i])==-1)
- newArray.push(arr[i]);
- }
- return newArray;
- }
console.log(unique(arr));
方法:es6的set集合(好东西)[set是es6中提出来的一种新的数据集合]
- var arr=[1,3,3,4,5,5,6,6,7,8,69,8,99,9,0,];
- const set=new Set(arr);
arr=Array.from(set);
console.log(set);
数组去重(初识ES6)的更多相关文章
- 一行代码实现数组去重(ES6)
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...
- 数组去重方法(ES6)
let arrayBefore = [1,3,3,2,1,5,2,1]; //去重之前的数组 Array.prototype.dedupe = function (){ //去重函数 返回去重后的数组 ...
- 分别使用ES5和ES6进行数组去重以及注意事项
ES6,ES5数组去重 使用Es6进行数组去重 var arr = [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN]; ...
- ES6数组去重
今天五一,在出去玩之前赶紧写篇博客,时刻不要忘记学习^_^!! 提到数组去重,想必大家都不陌生,会的同学可能噼里啪啦写出好几个,下面来看看之前常见的去重代码: 'use strict'; var ar ...
- JavaScript数组去重—ES6的两种方式
说明 JavaScript数组去重这个问题,经常出现在面试题中,以前也写过一篇数组去重的文章,(JavaScript 数组去重的多种方法原理详解)但感觉代码还是有点不够简单,今天和大家再说两种方法,代 ...
- ES6数组去重及ES5数组去重方法
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...
- ES6通过Set数组去重
一.Set 1.定义 Set对象是ES6中新定义的数据结构,类似于数组,它允许你存储任何类型的唯一值,不管是原始值还是对象引用. 2.语法 new Set([iterable]) iterable:可 ...
- ES6的新方法实现数组去重
ES6里新添加了两个很好用的东西,set和Array.from. set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目. 在这我们可以看见,重复的项目已经被去掉了,包括 ...
- ES6 Set求两个数组的并集、交集、差集;以及对数组去重
并集: const arr1 = [1, 2, 3, 2, 5]; const arr2 = [1, 4, 6, 8, 3]; // 将两个数组合并 const concatArr = [...arr ...
随机推荐
- fwrite的文件缓冲同步到磁盘
这是个小细节. 用fwrite写文件的时候,我发现刷新文件夹,对应文件大小一直是0. 网上有一篇博客写得比较完善http://blog.csdn.net/sctq8888/article/detail ...
- SPOJ-394-ACODE - Alphacode / dp
ACODE - Alphacode #dynamic-programming Alice and Bob need to send secret messages to each other and ...
- day17 Django学习三
参考博客: http://www.cnblogs.com/wupeiqi/articles/5237704.html http://www.cnblogs.com/wupeiqi/articles/5 ...
- iptables详解(13):iptables动作总结之二
概述 阅读这篇文章需要站在前文的基础上,如果你在阅读时遇到障碍,请参考之前的文章. 前文中,我们已经了解了如下动作 ACCEPT.DROP.REJECT.LOG 今天,我们来认识几个新动作,它们是: ...
- nodejs利用express操作mysql增删改查
如果不知道怎么连接数据库的请看http://www.cnblogs.com/complete94/p/6714757.html 我当大家都知道怎么连接数据库了,那么 我们开始吧 var express ...
- python装饰器中functools.wraps的作用详解
直接上代码看效果: # 定义一个最简单的装饰器 def user_login_data(f): def wrapper(*args, **kwargs): return f(*args, **kwar ...
- php远程文件包含截断问题
今天在学习<白帽子讲web安全>一书是,提到一个php远程文件包含漏洞 可以从攻击者服务器中的一个写好的攻击脚本中远程执行命令 服务器中有漏洞的页面代码为: #test.php#error ...
- charles抓包--手机端
Fiddler和charles都是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 在接口已经使用的时候,比如说已经用到了app上,app端测试 ...
- 你离BAT之间,只差这一套Java面试题
最近,各大公司开始了春招,很多人已经开始在准备面试了,特地来总结下初中级程序员应该掌握的面试题目.这篇面试指南,只适用于初中级程序员,其中不涉及分布式等问题.关于中高级的程序员问题,我后面可能再出一篇 ...
- 数据链路层、ARP/RARP、ICMP、ping和traceroute
互联网基础: 数据链路层:RFC文档:894/1042/1340 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 ...