10
0

练习题5_数组去重.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. let arr = [ 1,2,3,'a',4,5,3,4,5,'a' ];
  11. // 方法一 双循环
  12. // function unique(arr){
  13. // for(var i=0;i<arr.length;i++){
  14. // for(var j=i+1;j<arr.length;j++){
  15. // if(arr[i] == arr[j]){
  16. // arr.splice(j,1)
  17. // j--;
  18. // }
  19. // }
  20. // }
  21. // return arr;
  22. // }
  23. // console.log(unique(arr));
  24. // 方法二 :indexOf 和 新数组
  25. // function unique(arr){
  26. // var newArr = [];
  27. // for(var i=0;i<arr.length;i++){
  28. // if(arr.indexOf(arr[i]) == i){
  29. // newArr.push(arr[i])
  30. // }
  31. // }
  32. // return newArr;
  33. // }
  34. // console.log(unique(arr));
  35. // 方法三 对象中key值不能重复
  36. // var obj = {
  37. // a:"hell",
  38. // b:"world",
  39. // a:1
  40. // }
  41. // console.log(obj);
  42. // function unique(arr){
  43. // var obj = {};
  44. // for(var i=0;i<arr.length;i++){
  45. // if(arr[i] in obj){
  46. // obj[arr[i]]++;
  47. // }else{
  48. // obj[arr[i]] = 1
  49. // }
  50. // }
  51. // // return obj;
  52. // return Object.keys(obj);
  53. // }
  54. // console.log(unique(arr));
  55. // 方法四 es6
  56. // function unique(arr){
  57. // return Array.from(new Set(arr));
  58. // }
  59. // console.log(unique(arr));
  60. </script>
  61. </body>
  62. </html>