数组去重

来源:互联网 发布:苏州中国软件名城 编辑:程序博客网 时间:2024/06/16 09:48
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>数组去重的4种方法</title></head><body>    <script type="text/javascript">    (function(){        var arr = [12,234,23,12,124,3,23,12,3];        var obj = {};        var newArr = [];        for(var i = 0; i<arr.length; i++){            if(obj[arr[i]]){                obj[arr[i]]+=1; //对象中如果又这个属性,就加1            }else{                obj[arr[i]] = 1;//没有这个属性就设置成1            }        }        console.log('第一种方法会改变顺序');        console.log(obj);        transform(obj);        //转换成数组        function transform(obj){            var arr = [];            for(var item in obj){                arr.push(item);            }            console.log(arr);        }    })();    (function(){        var arr = [12,234,23,12,124,3,23,12,3];        var newArr = [];        var obj = {};        for(var i = 0; i<arr.length; i++){            if(newArr.indexOf(arr[i]) < 0){                newArr.push(arr[i]);                obj[arr[i]] = 1;            }else{                obj[arr[i]]++;            }        }        console.log('第二种方法不会改变顺序');        console.log(newArr);        //存的是每个元素出现的次数        console.log(obj);    })();    (function(){        var arr = [12,234,23,12,124,3,23,12,3];        var re = [];        //先对数组进行排序,不能随机        arr.sort(function(a,b){            return a-b;        });        re[0] = arr[0];        for(var i = 1; i<arr.length; i++){            if(arr[i] !== re[re.length-1]){                re.push(arr[i])            }        }        console.log('第三种方法会改变顺序');        console.log(re);    })();    (function(){        var arr = [12,234,23,12,124,3,23,12,3];        for(var i = 0; i<arr.length;i++){            removeArr(i);        }        function removeArr(index){            var conts = arr[index];            index = index + 1;            while(arr.indexOf(conts,index) >= 0){ //从当前位置向后找                index = arr.indexOf(conts,index); //找到后保存其位置                arr.splice(index,1);//删除这位            }        }        console.log('第四种方法不改变顺序');        console.log(arr);    })();    </script></body></html>
0 0
原创粉丝点击