js数组去重
来源:互联网 发布:sublime text3运行php 编辑:程序博客网 时间:2024/05/01 08:34
//方法一: 用 indexof判断数组中是否存在重复项;//用到数组的indexOf()方法,此方法主要用来查找元素在数组中第一次出现的位置。比较浪费资源和时间。//可识别undefined,nullfunction unique1(arr){var uarr=[];for(var i=0;i<arr.length;i++){if(uarr.indexOf(arr[i])==-1){uarr.push(arr[i])}}return uarr;}//方法二: 将数组值存入hash表去重//可识别undefined,nullfunction unique2(arr){var uarr=[];var map={}for(var i=0;i<arr.length;i++){if(!map[arr[i]]){uarr.push(arr[i]);map[arr[i]]=true;}}return uarr;}//方法三 :排序后去重//缺点:数组项顺序被改变了function unique3(arr){ //将数组进行排序 arr.sort(); //定义结果数组 var newarr=[]; newarr[0]=arr[0]; for(var i = 1; i < arr.length; i++){ //从数组第二项开始循环遍历数组 //判断相邻两个元素是否相等,如果相等说明数据重复,否则将元素写入结果数组 if(arr[i] !== newarr[newarr.length - 1]){ newarr.push(arr[i]); } } return newarr; } function test(){var arr=["dfd2","dfd",4,undefined,34,undefined,2,null,null,4,"dfd","df"];var newarr=unique3(arr);console.log("oldarr",arr);console.log("newarr",newarr);}test();
部分代码参考:http://blog.csdn.net/zhihua_w/article/details/52184289
http://www.jb51.net/article/54176.htm
0 0
- JS 数组去重
- js数组去重
- js 数组去重
- js 数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- //js数组去重
- js-数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- JS 数组去重
- js数组去重
- JS 数组去重
- js数组去重
- git
- 1月2日 51 Node 1189 阶乘分数
- spring quartz配置定时任务
- NOSQL数据库浅析(三):Redis
- 10分钟详细解读android scrollview
- js数组去重
- Hibernate hql
- 秒杀系统架构优化思路
- 安卓——实现使用自定义的类
- Android6.0运行时候权限适配
- 【错误】刚刚与idea与Springboot见面遇到的问题
- COGS 14 [网络流24题] 搭配飞行员
- QT5.X 编译QFtp全过程
- Android之InetAddress入门简介