码迷,mamicode.com
首页 > 编程语言 > 详细

js实现数组去重(方式大汇总)

时间:2018-06-05 19:56:47      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:==   创建   ++   没有   uniq   type   for   code   log   

方法一:创建新数组

   var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];
 3 Array.prototype.reArr = function(){
 4     var newArr = [];
 5     for(var i = 0; i < this.length; i++){
 6         if(newArr.indexOf(this[i])== -1){
 7             newArr.push(this[i]);
 8         }
 9     }
10     return newArr;
11 }
12 var arr2 = arr.reArr();
13 console.log(arr); //[ 1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5 ]
14 console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 9, 8 ]

方法二:利用对象属性存在的特性,如果没有该属性则存入新数组。

function unique3(arr){
 var res = [];
 var obj = {};
 for(var i=0; i<arr.length; i++){
  if( !obj[arr[i]] ){
   obj[arr[i]] = 1;
   res.push(arr[i]);
  }
 } 
 return res;
}
 
console.log(‘------------方法三---------------‘);
 
console.log(unique3([1,1,2,3,5,3,1,5,6,7,4]));

js实现数组去重(方式大汇总)

标签:==   创建   ++   没有   uniq   type   for   code   log   

原文地址:https://www.cnblogs.com/web-record/p/9141373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!