数组去重的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重的方法相关的知识,希望对你有一定的参考价值。
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>
以上是关于数组去重的方法的主要内容,如果未能解决你的问题,请参考以下文章