1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>數組去重</title> 6 7 </head> 8 <body> 9 </body> 10 <script type="text/javascript"> 11 12 var strs = ['a', 'a', 5, 5,7]; 13 14 function remove1(str) { 15 var newStr = [], obj = {}; 16 for (var i = 0, h = str.length; i < h; i++) { 17 if (!obj[str[i]]) { 18 newStr.push(str[i]); 19 obj[str[i]] = 1; 20 } 21 } 22 return newStr; 23 } 24 var s1 = remove1(strs); 25 console.log('s1:' + s1); 26 27 28 function remove2(str) { 29 return Array.from(new Set(str)); 30 } 31 32 var s2 = remove2(strs); 33 console.log('s2:' + s2) 34 35 36 function remove3(str) { 37 var newStr = []; 38 for (var i = 0, j = str.length; i < j; i++) { 39 if (newStr.indexOf(str[i]) === -1) { 40 newStr.push(str[i]); 41 } 42 } 43 return newStr; 44 } 45 var s3=remove3(strs); 46 console.log('s3:'+s3); 47 48 //4 49 function remove4(str) { 50 var newStr = []; 51 52 str.forEach(function(e, i, str) { 53 if (str.indexOf(e) === i) { 54 newStr.push(e); 55 } 56 }); 57 58 return newStr; 59 } 60 61 var s4=remove4(strs); 62 console.log('s4:'+s4); 63 64 //5 65 function remove5(str) { 66 var newStr = [], 67 end; 68 str.sort(); 69 end = str[0]; 70 newStr.push(str[0]); 71 72 for (var i = 1; i < str.length; i++) { 73 if (str[i] != end) { 74 newStr.push(str[i]); 75 end = str[i]; 76 } 77 } 78 return newStr; 79 } 80 81 var s5=remove5(strs); 82 console.log('s5:'+s5); 83 84 85 86 </script> 87 88 </html>
效果圖:javascript
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>數組去重</title>
</head>
<body>
</body>
<script type="text/javascript">
var strs = ['a', 'a', 5, 5,7];
function remove1(str) {
var newStr = [], obj = {};
for (var i = 0, h = str.length; i < h; i++) {
if (!obj[str[i]]) {
newStr.push(str[i]);
obj[str[i]] = 1;
}
}
return newStr;
}
var s1 = remove1(strs);
console.log('s1:' + s1);
function remove2(str) {
return Array.from(new Set(str));
}
var s2 = remove2(strs);
console.log('s2:' + s2)
function remove3(str) {
var newStr = [];
for (var i = 0, j = str.length; i < j; i++) {
if (newStr.indexOf(str[i]) === -1) {
newStr.push(str[i]);
}
}
return newStr;
}
var s3=remove3(strs);
console.log('s3:'+s3);
//4
function remove4(str) {
var newStr = [];
str.forEach(function(e, i, str) {//固定順序,e是數組元素,i是數組元素下標
if (str.indexOf(e) === i) {
newStr.push(e);
}
});
return newStr;
}
var s4=remove4(strs);
console.log('s4:'+s4);
//5
function remove5(str) {
var newStr = [],
end;
str.sort();
end = str[0];
newStr.push(str[0]);
for (var i = 1; i < str.length; i++) {
if (str[i] != end) {
newStr.push(str[i]);
end = str[i];
}
}
return newStr;
}
var s5=remove5(strs);
console.log('s5:'+s5);
</script>
</html>