博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组去重
阅读量:7236 次
发布时间:2019-06-29

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

今天专门腾时间对数组去重的问题进行了总结

1.es6 is very good  

var arr = [1,2,3,8,5,4,9,6,"s",47,5,2,47,5,5,2,7];      var index = new Set(arr)      console.log(index)

 

 

2.es5中的indexOf

var arr = [1,1,2,3,3,3,3,4];function find() {var newarr = [];for(var i = 0; i < arr.length; i++) {if (newarr.indexOf(arr[i]) == -1 ) {newarr.push(arr[i]);}}console.log(newarr);}find(arr);

 

3.利用最简单的思想就是for循环,但是经过测试发现这种方法的去重效果特别差(如果有1000或10000个数)一次一次循环,不推介使用,在不同浏览器可以执行的时间不同

 

function sort1(arr) {    var flag = 0;    var result = new Array();    for(var i = 0; i < arr.length; i++) {        flag = 0;        for(var j = 0; j < arr.length; j++) {            if(result[j] == arr[i]) {                flag = 1;break;            }        }        if(flag == 0)            result.push(arr[i]);    }    return result;}

4.第三方类库

jQuery: $.uniqueunderscore: _.unique

5. filter和indexOf相结合的方法

let arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0, 2, 2, 3];function unique(arr){    return arr.filter((item, index, array) =>  array.indexOf(item) === index);}console.log(unique(arr)); // [1, "a", "b", "d", "e", 0, 2, 3]

先写这么多吧

 

转载于:https://www.cnblogs.com/objectjj/p/9844677.html

你可能感兴趣的文章
Python学习教程(Python学习路线):Day11-文件和异常
查看>>
证书更新
查看>>
移动端swiper嵌iframe无法滑动的解决方案
查看>>
spring cloud构建互联网分布式微服务云平台- hystrix工作原理
查看>>
立即执行函数
查看>>
腾讯X5内核集成一些建议和爬坑记录
查看>>
直接使用 x y 调用frame的x y 值
查看>>
iOS富文本的简单使用
查看>>
云栖专辑| 阿里毕玄:程序员的成长路线
查看>>
Redis分布式缓存安装和使用
查看>>
Python 工匠:使用数字与字符串的技巧
查看>>
MyBatis和Hibernate相比,优势在哪里?
查看>>
C# WIN32 API
查看>>
samba服务简单配置使用
查看>>
Python笔记,自用
查看>>
PDF文件怎么打开-PDF打开方法介绍
查看>>
我的友情链接
查看>>
保留VSFTP和SNMP的一个配置
查看>>
我的友情链接
查看>>
Horizon View 6-安装View Composer组件⑵
查看>>