js 去重的几种方法
1.声明一个空数组,用来接收不同元素,利用两个for循环去遍历
1 var arr = [1,‘a‘,56,‘dj‘, ‘dfa‘, 56, ‘a‘] 2 function qu(arr){ 3 var newArray=[]; 4 for(var i= 0; i < arr.length; i++) 5 { 6 var result = false; 7 for(var j = 0; j < newArray.length; j++) 8 { 9 if (arr[i] == newArray[j]) 10 { 11 result = true; 12 break; 13 }; 14 } 15 if(!result) 16 { 17 newArray.push(arr[i]); 18 } 19 } 20 return newArray; 21 } 22 alert(qu(arr))
2.引入对象,将数组元素设置为对象的属性(对象属性不能重复)
var arr = [1,‘a‘,56,‘dj‘, ‘dfa‘, 56, ‘a‘] function qcfn(arr){ var obj = {}; var temp = []; for(var i = 0; i < arr.length; i++){ if (!obj[arr[i]]) { temp.push(arr[i]); obj[arr[i]] = true; }; } return temp; } alert(qcfn(arr))
3.利用indexOf()
1 var arr = [1,‘a‘,56,‘dj‘, ‘dfa‘, 56, ‘a‘] 2 function unique(arr) 3 { 4 var result = []; 5 for(var i = 0; i<arr.length; i++) 6 { 7 if (result.indexOf(arr[i]) == -1)//判断字符串出现位置,没有找到返回-1 8 { 9 result.push(arr[i]) 10 }; 11 } 12 return result; 13 } 14 alert(unique(arr))
4.先排序后去重
var arr = [1,‘a‘,56,‘dj‘,‘dfa‘, 56,‘a‘] function unique(arr) { var result = []; arr.sort(); result.push(arr[0]); for(var i = 1; i < arr.length; i++) { if (arr[i-1] != arr[i]) { result.push(arr[i]) }; } return result; } alert(unique(arr))
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。