JavaScriptでのArrayメソッドの練習

5861 ワード

配列の重複要素を除去する方法を記述します
var arr = ["c", "a", "z", "a", "x", "a"];
        function clear() {
            //1.       
            var obj = {};
            //2.for    ,      
            for (i = 0;i < arr.length; i++) {
                //  obj        
                var key = arr[i];
                if (obj[key]) {
                    //   ,  1
                    obj[key]++;
                }else {
                    //   ,       1
                    obj[key] = 1;
                }
            }
            //       
            var newArr = [];
            //    ,           
            for (var key in obj) {
                //         newArr 
                if(obj[key] == 1) {
                    newArr.push(key);
                }else {
                    if(newArr.indexOf(key) == -1) {
                        newArr.push(key);
                    }
                }
            }
            return newArr;
        }
        
        //     
        console.log(clear(arr));