js数组去重的方法

来源:互联网 发布:淘宝怎么发布微淘广播 编辑:程序博客网 时间:2024/05/16 08:07

最简单的方法一:

var arr = [1,2,3,1];//原数组var arr2 = [];//新数组for(var i=0;i<arr.length;i++){  //(indexOf本意是找到数组中某个项在数组的索引,如果找不到就会返回-1)  if(arr2.indexOf(arr[i]) == -1){//原理:检测如果原数组的每一项在新数组找不到才会添加到新数组就达到了去重的效果。    arr2.push(arr[i]);  }}console.log(arr2);

错误的方法,你们遇到的坑,本帅哥先用力的踩了一遍,请大家珍惜勇于冒险的帅哥哟:

Array.prototype.unique2 = function(){  this.sort(); //先排序,(PS:这是个网上找的一个方法,如果没能正确排序,就会去不了重。我个人不推荐使用)  var res = [this[0]];  for(var i = 1; i < this.length; i++){    if(this[i] !== res[res.length - 1]){      res.push(this[i]);    }  }  return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0 ,15,"1","15"];//专门对会上面的排序的,哈哈哈!log(arr.unique2());//[0, 1, "1", 1, "15", 15, "a", "b", "d", "e"]

//大家看看网上找的这个方法,分分钟钟要你掉坑里。http://www.jb51.net/article/46154.htmArray.prototype.unique3 = function(){  var res = [];  var json = {};  for(var i = 0; i < this.length; i++){    if(!json[this[i]]){      res.push(this[i]);      json[this[i]] = 1;    }  }  return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0 ,15,"1","15"];log(arr.unique3());//[1, "a", "b", "d", "e", 0, 15] //上面这种方法把不该去掉的都去掉了,如果有哪位小伙子用了这方法,我也只能呵呵...了


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 陈琨图片 陈琨曝光照片内裤 陈琨个人简历 陈琨尴尬照片 主持人陈琨私密照 陈琨比基尼照片曝光 陈琪 陈琪楠 陈琪钰 早川陈琪 蘑菇街陈琪 陈琪个人资料 陈琳 陈琳资料 三国陈琳 陈琳歌曲 三国杀陈琳 陈琳律师 陈琳人体 陈琳照片 陈琳图片 陈琳为什么死 陈琳个人资料简介 爱就爱了陈琳 情难自禁陈琳宣刘尔震 陈琳好听的歌曲 陈琳跳楼的现场惨照 陈琳怎么死的 宝能陈琳个人资料 陈琳 爱了就爱了 陈琳死后化妆的图片 陈琳的歌曲大全 同一首歌 陈琳 酒干倘卖无 陈琳 陈琳个人资料 你的柔情我永远不懂 陈琳 陈琼 陈瑜作品 陈瑜 陈瑜紫砂壶 陈瑜太极拳