数组去重
来源:互联网 发布:苏州中国软件名城 编辑:程序博客网 时间:2024/06/16 09:48
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>数组去重的4种方法</title></head><body> <script type="text/javascript"> (function(){ var arr = [12,234,23,12,124,3,23,12,3]; var obj = {}; var newArr = []; for(var i = 0; i<arr.length; i++){ if(obj[arr[i]]){ obj[arr[i]]+=1; //对象中如果又这个属性,就加1 }else{ obj[arr[i]] = 1;//没有这个属性就设置成1 } } console.log('第一种方法会改变顺序'); console.log(obj); transform(obj); //转换成数组 function transform(obj){ var arr = []; for(var item in obj){ arr.push(item); } console.log(arr); } })(); (function(){ var arr = [12,234,23,12,124,3,23,12,3]; var newArr = []; var obj = {}; for(var i = 0; i<arr.length; i++){ if(newArr.indexOf(arr[i]) < 0){ newArr.push(arr[i]); obj[arr[i]] = 1; }else{ obj[arr[i]]++; } } console.log('第二种方法不会改变顺序'); console.log(newArr); //存的是每个元素出现的次数 console.log(obj); })(); (function(){ var arr = [12,234,23,12,124,3,23,12,3]; var re = []; //先对数组进行排序,不能随机 arr.sort(function(a,b){ return a-b; }); re[0] = arr[0]; for(var i = 1; i<arr.length; i++){ if(arr[i] !== re[re.length-1]){ re.push(arr[i]) } } console.log('第三种方法会改变顺序'); console.log(re); })(); (function(){ var arr = [12,234,23,12,124,3,23,12,3]; for(var i = 0; i<arr.length;i++){ removeArr(i); } function removeArr(index){ var conts = arr[index]; index = index + 1; while(arr.indexOf(conts,index) >= 0){ //从当前位置向后找 index = arr.indexOf(conts,index); //找到后保存其位置 arr.splice(index,1);//删除这位 } } console.log('第四种方法不改变顺序'); console.log(arr); })(); </script></body></html>
0 0
- 数组去数组重
- 数组去重,json数组去重
- 数组去重
- 数组去重
- JS 数组去重
- 数组去重算法
- 数组去重
- js数组去重
- php 数组去重
- 数组去重
- 数组排序去重
- javascript数组去重
- json数组去重
- 数组去重
- php数组去重
- 数组如何去重
- iOS 数组去重
- 动态数组去重
- Android高级学习之性能优化
- 飞思卡尔MC9S12系列单片机地址影射以及分页问题
- 数据结构-二叉树的线索化
- java中list和arraylist的区别
- linux使用yum命令产生的进程锁问题
- 数组去重
- Hibernate通过Bean生成表的方法
- 编程技巧,数组覆盖
- 求n!的位数以及求n!具体的值(C or C++)
- 有向图强连通判断C/C++
- 排序算法c/c++
- python爬虫
- ext4_register_li_request
- Servlet的地址,跳转