07.练习(数组去重).html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. //创建一个数组
  10. var arr = [1, 2, 3, 2,2, 1, 3, 4, 2, 5];
  11. //去除数组中重复的数字
  12. //我做的
  13. // for (var i = 0; i < arr.length ; i++) {
  14. // console.log("@@" + arr[i]);
  15. // for (var j = i; j < arr.length; j++) {
  16. // if (i == j) {
  17. // continue
  18. // } else {
  19. // console.log(arr[j]);
  20. // if(arr[i]==arr[j]){
  21. // console.log(true);
  22. // arr.splice(j,1);
  23. // }
  24. // }
  25. // }
  26. // }
  27. // console.log(arr);
  28. //老师讲的
  29. //获取数组中的每一个元素
  30. for(var i = 0 ; i < arr.length ; i++){
  31. console.log(arr[i]);
  32. //获取当前元素后的所有元素
  33. for(var j = i+1 ; j < arr.length ; j++){
  34. console.log("-->"+arr[j]);
  35. //判断两个元素的值是否相等
  36. if(arr[i]==arr[j]){
  37. //如果相等则证明出现了重复的元素,则删除j对应的元素
  38. arr.splice(j,1);
  39. //当删除了当前j所在的元素以后,后边的元素会自动补位
  40. //此时将不会再比较这个元素,所以需要再比较一次j所在位置的元素
  41. //使j自减
  42. j--;//此步骤是关键
  43. }
  44. }
  45. }
  46. console.log(arr);
  47. </script>
  48. </head>
  49. <body>
  50. </body>
  51. </html>