数组去重复的方法js(JavaScript几种数组去掉重复值的方法推荐_javascript技巧)

本文目录
JavaScript几种数组去掉重复值的方法推荐_javascript技巧
数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复。主要是理清思路和考虑下性能。以下方法,网上基本都有,这里只是简单地总结一下。
思路:
1.遍历数组,一一比较,比较到相同的就删除后面的
2.遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组
3.任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组。
4.遍历数组,取一个元素,作为对象的属性,判断属性是否存在
1. 删除后面重复的:
function ov1(arr){
//var a1=((new Date).getTime())
for(var i=0;i
2. 这个是常规的方法,比较好理解,如果相同则跳出循环
3. 这个我花了好长时间明白的,这里j循环虽然继续了,但是i值已经改变了。就等于是一个新的i循环:
4. 保证新数组中的都是唯一的
function ov4(ar){
//var a1=((new Date).getTime())
var m=,f;
for(var i=0;i
5. 用对象属性
Js中去除数组中重复元素的几种方法
方法1:
view plain copy
Array.prototype.method1 = function(){
var arr; //定义一个临时数组
for(var i = 0; i 《 this.length; i++){ //循环遍历当前数组
//判断当前数组下标为i的元素是否已经保存到临时数组
//如果已保存,则跳过,否则将此元素保存到临时数组中
if(arr1.indexOf(this) == -1){
arr.push(this);
}
}
return arr;
}
方法2:
view plain copy
Array.prototype.method2 = function(){
var h{}; //定义一个hash表
var arr; //定义一个临时数组
for(var i = 0; i 《 this.length; i++){ //循环遍历当前数组
//对元素进行判断,看是否已经存在表中,如果存在则跳过,否则存入临时数组
if(!h){
//存入hash表
h = true;
//把当前数组元素存入到临时数组中
arr.push(this);
}
}
return arr;
}
方法3:
view plain copy
Array.prototype.method3 = function(){
//直接定义结果数组
var arr;
for(var i = 1; i 《 this.length; i++){ //从数组第二项开始循环遍历此数组
//对元素进行判断:
//如果数组当前元素在此数组中第一次出现的位置不是i
//那么我们可以判断第i项元素是重复的,否则直接存入结果数组
if(this.indexOf(this) == i){
arr.push(this);
}
}
return arr;
}
方法4:
view plain copy
Array.prototype.method4 = function(){
//将数组进行排序
this.sort();
//定义结果数组
var arr;
for(var i = 1; i 《 this.length; i++){ //从数组第二项开始循环遍历数组
//判断相邻两个元素是否相等,如果相等说明数据重复,否则将元素写入结果数组
if(this){
arr.push(this);
}
}
return arr;
}

更多文章:
织梦php版本(织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-V5.7-GBK-SP1版本)
2025年6月21日 23:00
form在信封上是什么意思(在信封上面写From与To分别代表哪个英文是收件人,哪个英文是发件人急!先谢谢!)
2026年9月13日 19:30
readprocessmemory资源消耗(readprocessmemory问题)
2026年8月10日 21:00
essentials插件(minecraft 怎么安装Essentials插件)
2026年3月27日 00:45
s11全球总决赛集锦(edg晋级s11决赛(夺取冠军之路))
2026年8月17日 09:00
keyset(Set keys=Map.keyset()怎么理解)
2025年10月20日 14:00
js注册成功跳转页面代码(如何使用JavaScript实现 按钮跳转页面功能)
2026年7月24日 02:45
securities(有关securities, stock, shares, bonds的概念~)
2025年7月8日 15:45
export trade(export trade是什么意思)
2026年5月26日 10:00
css鼠标悬停背景颜色变化(用css样式怎样实现鼠标放在背景图片上,背景图片的颜色改变)
2026年3月17日 16:30
sql中connect的用法(C#中,用SqlConnection怎么连接数据库)
2026年9月2日 22:45
account短语用法(On no account can是什么意思)
2026年5月2日 17:30












