Javascript去掉数组重复内容的2种办法
来源:互联网 发布:淘宝上买手表可靠吗 编辑:程序博客网 时间:2024/06/05 02:00
方法1的优点在于不用建立新的数组,但不易理解;方法2需要建立新的数组,但容易理解。
方法1:
思路:
1. 取数组第1个元素,
2. 从后往前与数组其他元素对比;
3. 若想等,则将匹配的元素移到最后,并记录次数;
4. 取第2个元素,重复2~4步;
5. 最后获得重新排序的数组,后面的都是重复多余的元素,个数与累积的记录次数一致(需要特别注意处理方式);
6. 重新设定数组的长度,获得没有重复元素的数组;
代码如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>repeat</title></head><body> <script> var arr = [0,1,3,2,3,5,7,0,1,0,2,2,3,1,0]; var count = 0; var len = arr.length; var len2 = arr.length; for (var i = 0; i < len2; i++) {//注意len2会随获得的重复次数递减,避免重复计算,保证获得的重复元素数量count是正确的; for (var j = len-1-i; j >i; j--) {//注意j的设定,避免重复计算, //检测是否重复的循环 if(arr[i]==arr[j]){ //将匹配位置后的内容全部往前移,并将匹配值放到最后 var a = arr[j]; for (var k = j; k < len-1; k++) { arr[k]=arr[k+1]; } arr[len-1]=a; count++;//累积匹配的次数 len2--//重复的内容不再计入排查范围,避免重复计算,同时保证count的次数与重复数的数量相同; console.log(arr); } } } arr.length=len-count;//重设数组长度,将重复元素去掉 console.log(arr); </script></body></html>
方法2
思路:
1. 建立空的新数组;
2. 将旧数组的元素依次与新数组的元素比对,若未发现相同的元素,则将该元素加入到新数组;
代码如下:
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title></head><body><script type="text/javascript"> var arr = [0,1,2,3,0,1,2,3,5,6,3,2,1,8,0]; var arr2 = new Array(); arr2[0]=arr[0]; document.write("去除前:"+arr+"<br/>") var len1=arr.length;// 8 var len2=arr2.length; var k=1; for(var i=1;i<len1;i++){ var a=-1;//提供判定依据,不匹配为-1,匹配则为0以上的j; for(var j=0;j<len2;j++){ if(arr[i]==arr[j]){//若新元素与新数组内的某个元素重复,则给a赋值j; var a=j; } } if(a<0){ //根据a的值判定,a为-1则表示新数组内无元素与新元素相同,可以加入新元素; arr2[k]=arr[i]; len2=arr2.length; k++; } } document.write("去除后:"+arr2+"<br/>")</script></body></html>
1 0
- Javascript去掉数组重复内容的2种办法
- 数组-去掉重复内容
- JavaScript中数组去掉重复的项
- javascript去掉数组重复项
- javascript数组去掉重复项
- javascript数组去掉重复项
- PATH 去掉重复的内容!
- 使用javascript去掉数组中重复元素的方法
- JavaScript中去掉数组中的重复值的实现方法
- JavaScript如何去掉数组中重复的元素
- javascript和java数组中去掉重复元素的方法
- JavaScript高效去掉数组中的重复元素
- javascript去掉数组中的重复项
- javascript为数组去掉重复元素
- js 去掉重复的 数组
- 去掉重复数组的方法
- javaScript去掉重复的字符
- 去掉 重复的数组 ,截取数组
- Qt小票打印之网口程序
- USACO 3.1 Agri-Net 最短网络 (最小生成树)
- Android音频系统之AudioTrack(一)
- 使用 pod install 还是 pod update ?
- Android基础知识点总结
- Javascript去掉数组重复内容的2种办法
- java web端使用smb服务实现上传文件共享
- js中的let和var
- ECHARTS 使用记录
- sublime 插件
- (a*b)%d=(a%d*b%d)%d
- GOGS
- ElasticSearch 基本概念
- 四个抽象层、三次握手、Socket