fengchuanyu 4 月之前
父节点
当前提交
c48719e0c7
共有 1 个文件被更改,包括 72 次插入0 次删除
  1. 72 0
      6_ES6/练习题8_数组去重.html

+ 72 - 0
6_ES6/练习题8_数组去重.html

@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        let arr = [1,2,3,4,3,'a',2,1,'a'];
+
+        // 方法一 利用双循环逐个对比
+        // function unique(arr){
+        //     for(let i = 0;i<arr.length;i++){
+        //         for(let j = i+1;j<arr.length;j++){
+        //             if(arr[i] == arr[j]){
+        //                 arr.splice(j,1);
+        //                 j--;
+        //             }
+        //         }
+        //     }
+        //     return arr;
+        // }
+        // console.log(unique(arr)); 
+
+        // 方法二 利用对象属性名不能重复的特性
+        // var obj = {
+        //     a:1,
+        //     b:2,
+        //     a:4
+        // }
+        // obj.a = 3;
+        // function unique(arr){
+        //     let obj = {};
+        //     for(let i = 0;i<arr.length;i++){
+        //         if(arr[i] in obj){
+        //             obj[arr[i]]++
+        //         }else{
+        //             obj[arr[i]] = 1;
+        //         }
+                
+        //     }
+        //     // console.log(obj);
+        //     return Object.keys(obj);
+        // }
+        // console.log(unique(arr));
+
+        // 方法三 利用indexOf
+        // function unique(arr){
+        //     // 装载不重复的值
+        //     let newArr = [];
+        //     for(let i = 0;i<arr.length;i++){
+        //         if(newArr.indexOf(arr[i]) == -1){
+        //            newArr.push(arr[i]);
+        //         }
+        //     }
+        //     return newArr;
+        // }
+        // console.log(unique(arr));
+
+        // 方法四 利用ES6的Set
+        function unique(arr){
+            // let newArr = new Set(arr);
+            // newArr = Array.from(newArr);
+            // console.log(newArr);
+            // return [...new Set(arr)];
+            return Array.from(new Set(arr));
+        }
+        console.log(unique(arr));
+    </script>
+</body>
+</html>