JS查重去重

(1)去除数组中的重复值;
//    编写一个方法 去掉一个数组的重复元素
    var arr = [1,2,3,4,5,2,3,4];
    console.log(arr);
    var aaa = fn(arr);
    console.log(aaa);
    //思路:创建一个新数组,循环遍历,只要新数组中有老数组的值,就不用再添加了。
    function fn(array){
        var newArr = [];
        for(var i=0;i<array.length;i++){
            //开闭原则
            var bool = true;
            //每次都要判断新数组中是否有旧数组中的值。
            for(var j=0;j<newArr.length;j++){
                if(array[i] === newArr[j]){
                    bool = false;
                }
            }
            if(bool){
                newArr[newArr.length] = array[i];
            }
        }
        return newArr;
    }
(2) ["c","a","x","a","x","a"]找到数组中每一个元素出现的次数
    //利用对象来做。我们想知道,a出现了几次,c出现了几次,x出现了几次。
    //k:v ..  k:v使用键值对比较方便,而使用数组,不太方便了。
    //思路:创建一个对象,判断数组中的元素,在对象中是否存在,如果存在,值+1;否则创建一个数组元素的属性,然后给值赋值为1;
 var arr5 = ["c","a","x","a","x","a"];
 
   var json = {};
//    console.log(json["aflasdfasdf"]); 不存在的属性,返回值是undefined。
   for(var i=0;i<arr5.length;i++){
       //判断数组中的元素,在json中是否存在属性值。
       if(json[arr5[i]]){
           json[arr5[i]] += 1;
       }else{
           json[arr5[i]] = 1;
       }
   }
   console.log(json);

猜你喜欢

转载自www.cnblogs.com/hasher/p/9262275.html