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

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

hot3.png

方法一:用到js内置的indexOf方法

Array.prototype.unique = function(){    var result = [];    for(var i=0,ci;ci=this[i++];){        if(result.indexOf(ci) == -1) result.push(ci);    }}

方法二:用到hash表,要求数组元素值只能为字符

Array.prototype.unique=function(){	for(var i=0,temp={},result=[],ci;ci=this[i++];){		if(temp[ci])continue;		temp[ci]=1;		result.push(ci);	}	return result;}

方法二中的hash查找比indexOf方法遍历数组快的多,但应用场景有限

方法三:用sort先对数组元素排序

Array.prototype.unique = function(){    this.sort();    var result = [], end = 0;    result.push(this[0]);    for(var i=0,ci;ci=this[i++];){        if(ci != result[end]){            result.push(ci);            end++;        }    }    return result;}

转载于:https://my.oschina.net/codespring/blog/531688

你可能感兴趣的文章
画图函数——点,线,矩形等等
查看>>
ejabberd_local
查看>>
BZOJ5020 [THUWC 2017]在美妙的数学王国中畅游LCT
查看>>
hdu 6030 矩阵快速幂
查看>>
tomcat类加载机制
查看>>
ado.net2.0中的缓存使用SqlDependency类
查看>>
Java基础学习总结(94)——Java线程再学习
查看>>
iOS开发之调用系统设置
查看>>
利用 ACPI\\ACPI0003设备 判断笔记本还是台式机
查看>>
解决wampserver 服务无法启动
查看>>
ES6中Promise封装ajax的写法
查看>>
Linux scp 远程文件/目录传输
查看>>
关于fork函数
查看>>
187. 加油站
查看>>
Induction and Recursion and Reduction
查看>>
vue2.0 之 douban (三)创建header组件
查看>>
vue 开发中的常见问题
查看>>
扩展运算符(...) 合并 对象
查看>>
LeetCode – Refresh – Binary Tree Maximum Path Sum
查看>>
adfad
查看>>