数组去重
2016-05-05 22:15
225 查看
1,Array.prototype.unique1=function(){
var n=[];
for(var i=0;i<this.length;i++){//遍历原始数组
//indexOf()查找第一次出现的位置,也可以查找多个,没找到就返回-1.
if(n.indexOf(this[i])==-1){//临时数组里查找原始数组的this[i],如果找不到就push 进去;
n.push(this[i]);
}
}
return n;
}
2.Array.prototype.unique2=function(){//最快的方法
var n={},r=[]; //n 哈希表; r临时数组;
for(var i=0;i<this.length;i++){//遍历原始数组
if(!n[this[i]]){
n[this[i]]=true;
r.push(this[i]);
}
}
return n;
}
3.Array.prototype.unique3=function(){
var n=[this[0]];//结果数组
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this.indexOf(this[i])==i){//原始数组中第一次出现的元素, 就push进临时数组n
n.push(this[i]);
}
}
return n;
}
4..Array.prototype.unique4=function(){
this.sort();//先排序
var re=[this[o]];
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this[i]!==re[re.length-1]){
re.push(this[i]);
}
}
return re;
}
var n=[];
for(var i=0;i<this.length;i++){//遍历原始数组
//indexOf()查找第一次出现的位置,也可以查找多个,没找到就返回-1.
if(n.indexOf(this[i])==-1){//临时数组里查找原始数组的this[i],如果找不到就push 进去;
n.push(this[i]);
}
}
return n;
}
2.Array.prototype.unique2=function(){//最快的方法
var n={},r=[]; //n 哈希表; r临时数组;
for(var i=0;i<this.length;i++){//遍历原始数组
if(!n[this[i]]){
n[this[i]]=true;
r.push(this[i]);
}
}
return n;
}
3.Array.prototype.unique3=function(){
var n=[this[0]];//结果数组
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this.indexOf(this[i])==i){//原始数组中第一次出现的元素, 就push进临时数组n
n.push(this[i]);
}
}
return n;
}
4..Array.prototype.unique4=function(){
this.sort();//先排序
var re=[this[o]];
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this[i]!==re[re.length-1]){
re.push(this[i]);
}
}
return re;
}
相关文章推荐
- ♥ZOJ 3872-Beauty of Array【规律】
- 全局变量$_SERVER
- std::string源码探秘和性能分析
- TFHpple是干什么的?
- 2012 Multi-University #10
- 在Linux下删除 除了某个文件之外的所有文件/目录
- [JavaScript]构造函数中定义prototype的异常现象及研究
- 從Android端鎖定慣用網路類型
- Bootstrap进阶一:Glyphicons 字体图标
- 避坑宝典:如何选择HTML5游戏引擎
- Spring Boot 之 RESRful API 权限控制
- 在线和离线安装Cloudera CDH 5.6.0
- Spring Boot 之 RESRful API 权限控制
- 爆打团队 2016.05.05 站立会议
- form(去掉关闭按钮,禁止调整大小)
- 增加人口的好办法
- Cortex-M3 操作模式和特权级别
- 【HUSTOJ】1060: 数字走向V
- python 模拟鼠标键盘输入PyUserInput
- 20145327 《Java程序设计》第十周学习总结