javascript删除数组重复元素的方法汇总
网络编程 2021-07-04 21:48www.168986.cn编程入门
这篇文章主要介绍了javascript删除数组重复元素的方法,实例汇总了几种常用的javascript删除数组重复元素的技巧,需要的朋友可以参考下
本文实例讲述了javascript删除数组重复元素的方法。分享给大家供大家参考。具体分析如下
这里分享一个前端面试高频题,主要实现javascript删除数组重复元素。希望对初学者有所帮助
//数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]], len=oldArr.length, i=1; //过滤空数组 if(!len) return this; //过滤重复元素 for(;i<len;i++){ newArr.indexOf(oldArr[i])<0 ? newArr.push(_this) : ''; } //返回过滤后的数组没有影响原数组 return newArr; } var arr=['a','a','b','a','c','d']; console.log(arr.unique()); //["a", "b", "c", "d", unique: function]
虽然网上也有很多而且自己写的也不咋地,毕竟自己写的逻辑清楚以后还可以顺着逻辑扩展比如扩展到对象元素去重或者是可以操作多个数组等等这里再放上别人的写的几个方法可以综合比较下
方法1
function oSort(arr) { var result ={}; var newArr=[]; for(var i=0;i { if(!result[arr[i]]) { newArr.push(arr[i]) result[arr[i]]=1 } } return newArr }
方法2
遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中
用到两个函数for ...in 和 indexOf()
var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ // 遍历arr,把元素分别放入tmp数组(不存在才放) var tmp = new Array(); for(var i in arr){ //该元素在tmp内部不存在才允许追加 if(tmp.indexOf(arr[i])==-1){ } } return tmp; }
方法3
把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了,调换后的样子array('qiang'=>1,'ming'=>1,'tao'=>1)
<script type="text/javascript"> var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; function unique(arr){ var tmp = new Array(); for(var m in arr){ tmp[arr[m]]=1; } //再把键和值的位置调换 var tmparr = new Array(); for(var n in tmp){ tmparr.push(n); } return tmparr; } </script>
方法4
/ 去除数组重复元素 / function uniqueArray(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { var v = data[i]; if (typeof(a[v]) == 'undefined'){ a[v] = 1; } }; data.length=0; for (var i in a){ data[data.length] = i; } return data; }
方法都差不多第三个方法想法还是蛮高明的~
希望本文所述对大家的javascript程序设计有所帮助。
上一篇:对JavaScript客户端应用编程的一些建议
下一篇:js实现跨域的方法实例详解
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程