今天看到两个数组去重的代码,其中一个方法很巧妙,在这里记录下来
代码一:利用jQuery的inArray方法过滤数组中重复的项
1 function GetUnique(inputArray) 2 { 3 var outputArray = []; 5 for (var i = 0; i < inputArray.length; i++) 6 { 7 if ((jQuery.inArray(inputArray[i], outputArray)) == -1) 8 { 9 outputArray.push(inputArray[i]); 10 } 11 } 13 return outputArray; 14 }
代码二:巧妙的通过给已通过检测的数组项设置值,再结合if判断语句来实现数组去重(不知道这样的表述有没有问题)
1 var deluniqnum = function(arr){ 2 var obj = {}; 3 var num = []; 4 for(var i in arr) { 5 if(!obj[typeof (arr[i])+arr[i]]){ 6 num.push(arr[i]); 7 obj[typeof(arr[i])+arr[i]] = '1'; 8 } 9 } 10 return num; 11 };