面试:数组去重方法简单总结~
来源:互联网 发布:python教学视频 编辑:程序博客网 时间:2024/05/01 16:11
- 双重循环
<script> var arr = [1,5,3,1,9,8,5,4,2,3]; // 需要去重的数组 var list = []; // 用来存结果数组 for(var i=0;i<arr.length;i++){ var num = arr[i]; if(list.indexOf(num)<0){ list.push(num); } }</script>
但是indexOf其实也是循环,这样无形中浪费时间和金钱。这个数组还小,如果arr.length=60000甚至更高的时候简直可怕,循环次数是两个数组长度的乘积。所以我想到了hash
去重法。
- hash去重
function dropRepeat(){ var arr = [1,5,3,1,9,8,5,4,2,3]; var hash = []; for(var i=0;i<arr.length;i++){ console.log(!hash[arr[i]]); if(!hash[arr[i]]){ hash[arr[i]] = true; } } // 仅获取 `hash` 中的 `keys` var i=0; var keys=[]; for(keys[i++] in hash); return keys; console.dir(keys);}
这次循环次数只有不到长度*2次,还是有优化的。
- 正则去重
function unique3(arr){ var reg=/(^|,)([^,]+)(,\2)*/g; return String(arr.sort()) .replace(reg,"$1$2") .split(","); }
0 0
- 面试:数组去重方法简单总结~
- 数组去重简单方法
- 微软面试--数组去重方法
- JS中的数组去重方法总结
- JS-数组去重的方法总结
- 数组去重的方法总结
- javascript数组去重方法终极总结
- js数组去重的方法总结
- 数组去重的方法总结
- JS中的数组去重方法总结
- 数组去重总结
- 数组去重方法
- JS实现数组去重方法总结(六种方法)
- 数组去重的四种方法,简单好理解
- 数组去重之简单,装逼方法,,,
- 简单的数组去重
- js简单数组去重
- js数组去重的三种常用方法总结
- 部署ftp文件分享服务
- 使用OPENROWSET爆破SQL Server密码
- FancyCoverFlow——一个页面显示多张图片,中间大,两边小
- volatile变量的用法
- Android 一个字符串实现不同颜色
- 面试:数组去重方法简单总结~
- POJ2739Sum of Consecutive Prime Numbers尺取法
- 解决问题:安装完ubuntu双系统后无法进入windows或者找不到开机选项
- rails Elasticsearch-model使用
- Android 事件传递
- 【安卓开发小知识点二】
- Java进阶(二)文件读操作
- GifView的使用
- linux git