首页 > 代码库 > 数组去重的方法
数组去重的方法
1、逐一比对,若相同就不存入,若没有相同的则存入数组: <p>原数组:<span id="array1"></span></p> <p>去重数组:<span id="array2"></span></p> <script type="text/javascript"> //函数 function delCop(aData){ var deptArray=new Array(); deptArray.push(aData[0]); for(var i=0; i<aData.length; i++){ var repeat=false; for(var j=0; j<deptArray.length; j++){ if(aData[i]==deptArray[j]){ repeat=true; break; } } if(!repeat){ deptArray.push(aData[i]); } } return deptArray } //使用 var aData=[2,3,5,63,3432,23,4,4,5,‘我爱天安门‘,‘我爱天安门‘]; document.getElementById(‘array1‘).innerHTML=aData; document.getElementById(‘array2‘).innerHTML=delCop(aData); </script> 2、利用sort排序后去重(推荐): <p>原数组:<span id="array1"></span></p> <p>去重数组:<span id="array2"></span></p> <script type="text/javascript"> //函数 function delCop(aData){ var deptArray=new Array(); aData.sort(); deptArray.push(aData[0]); for(var i=0; i<aData.length; i++){ if(aData[i]!=deptArray[deptArray.length-1]){ deptArray.push(aData[i]); } } return deptArray; } //使用 var aData=[2,3,5,63,3432,23,4,4,5,‘我爱天安门‘,‘我爱天安门‘]; document.getElementById(‘array1‘).innerHTML=aData; document.getElementById(‘array2‘).innerHTML=delCop(aData); </script> 3.利用hash表的方法去重数组:(把原数组暂存新数组后,并为属性赋值1): <p>原数组:<span id="array1"></span></p> <p>去重数组:<span id="array2"></span></p> <script type="text/javascript"> //函数 function delCop(aData){ var deptArray=new Array(); var otemp={}; for(var i=0;i<aData.length; i++){ if(!(otemp[aData[i]])){ deptArray.push(aData[i]); } otemp[aData[i]]=1; } return deptArray; } //使用唯一缺点,区分不了带引号和不带引号的数字。 var aData=[2,3,5,63,3432,23,6,‘6‘,5,‘我爱天安门‘]; document.getElementById(‘array1‘).innerHTML=aData; document.getElementById(‘array2‘).innerHTML=delCop(aData); </script>
数组去重的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。