js删除数组中重复的元素
1、方法一
将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中
 function unique(arr){
         var len = arr.length;
         var result = []
         for(var i=0;i<len;i++){
             var flag = true;
             for(var j = i;j<arr.length-1;j++){
                 if(arr[i]==arr[j+1]){
                     flag = false;
                     break;
                 }
             }
             if(flag){
                 result.push(arr[i])
             }
         }
         return result;
     }
2、方法二
遍历数组arr,把元素分别放入另一个数组result中,判断arr中的元素在result中是否存在,不存在即加入temp中
 function unique(arr){
         var result = [];
         for(var i=0;i<arr.length;i++){
             if(result.indexOf(arr[i])==-1){
                 result.push(arr[i])
             }
         }
         return result;
     }
3、方法三
将数组的值作为对象的属性,通过对象的属性值来判断数组是否重复,若该项不重复则给对象对应属性值赋为true,便于之后的判断,并将数据项加入结果集中
 function unique(arr) {
         var result = [];
         var obj = {};
         for(var i=0;i<arr.length;i++){
             if(!obj[arr[i]]){
                 result.push(arr[i]);
                 obj[arr[i]] = true;
             }
         }
         return result
     }
也可以通过判断对象中是否包含该属性来去重,此时对象属性的值可以任意但必须有值,否则会认为该属性不存在
 function unique(arr) {
         var result = [];
         var obj = {};
         for(var i=0;i<arr.length;i++){
             if(!obj.hasOwnProperty(arr[i])){// if(!(arr[i] in obj))
                 result.push(arr[i]);
                 obj[arr[i]] = 0;
             }
         }
         return result
     }
4、方法四
将数组的值赋给另一个数组的键,此时重复的元素都被删除,然后取新数组的键作为去重后的结果
 function unique(arr){
         var result = []
         var temp = []
         for(var i in arr){
             temp[arr[i]] = 1;
         }
         for(var i in temp){
             result.push(i)
         }
         return result
     }
js删除数组中重复的元素的更多相关文章
- PHP删除数组中重复的元素
		
array_unique($arr): //删除重复元素 $arr = [1,2,3,0,1]; echo '<pre>'; var_dump($arr); $arr = array_un ...
 - 删除数组中重复的元素(JSON)
		
先上一个基础的: var a = [1,2,3,3,4]; var b = []; for (var i = 0; i < a.length; ++i) { if (b.indexOf(a[i] ...
 - js 删除 数组中某个元素(转载)
		
来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...
 - js删除数组里指定的元素
		
js删除数组里指定的元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { ...
 - JS去除数组中重复值的四种方法
		
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
 - jst通用删除数组中重复的值和删除字符串中重复的字符
		
以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...
 - C#如何删除数组中的一个元素
		
C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个 ...
 - C语言  ·  删除数组中的0元素
		
算法提高 6-9删除数组中的0元素 时间限制:1.0s 内存限制:512.0MB 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,C ...
 - js删除数组中元素的方法
		
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
 
随机推荐
- 性能分析Linux服务器CPU利用率(转)
			
1. 指标范围 1.1 User mode CPU utilization+ System mode CPU utilization 合理值:60-85%,如果在一个多用户系统中us+sy时间超过 ...
 - python Django框架接入微信公众平台
			
1.在接入微信公众平台之前,需要在微信公众平台配置好基本信息,如下: 这个时候点击“提交”按钮,会提示“Token校验失败”,不要着急,这是必然会出现的现象,先不要退出页面,保留各项输入的数据,按第二 ...
 - xpath获取块元素下<br>下的信息
			
再爬虫取字段的时候遇到一种类似下面的结构: <p> <br> "通用名称:xxxxxx" </p> 用xpath取的方式://p//text() ...
 - 获得system32等系统文件权限
			
SYSTEM是至高无上的超级管理员帐户.默认情况下,我们无法直接在登录对话框上以SYSTEM帐户的身份登录到Windows桌面环境.实际上SYSTEM帐户早就已经“盘踞”在系统中了.根据http:// ...
 - 使用 Python 操作 Git 版本库 - GitPython
			
GitPython 是一个用于操作 Git 版本库的 python 包, 它提供了一系列的对象模型(库 - Repo.树 - Tree.提交 - Commit等) 用于操作版本库中的相应对象. 版本库 ...
 - WebExtensions & tabs.executeScript()
			
tabs.executeScript() https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs ...
 - delphi怎样单步调试
			
在delphi的IDE编辑窗口里,主菜单->Run->Step Over或者主菜单->Run->Trace Into单步调试有两种方式:一种是Step Over,快捷键是F8, ...
 - BZOJ 1040 骑士(环套树DP)
			
如果m=n-1,显然这就是一个经典的树形dp. 现在是m=n,这是一个环套树森林,破掉这个环后,就成了一个树,那么这条破开的边连接的两个顶点不能同时选择.我们可以对这两个点进行两次树形DP根不选的情况 ...
 - 【bzoj3631】[JLOI2014]松鼠的新家  LCA+差分数组
			
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀请小熊维尼前来 ...
 - Django Models相关
			
Models的相关知识 1. AutoField:自增整数类型.根据 ID 自增长的 Int字段 2. IntegerField:整数类型 3. BigIntegerField:大整数类型.用于数值较 ...