码迷,mamicode.com
首页 > 编程语言 > 详细

数组去重的多种方法实现

时间:2016-11-08 00:44:32      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:res   war   方式   rip   第一个   dex   indexof   数组   元素   

<script>

    //第一种方式
    var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
    var newArr = [];   //定义一个新的临时数组
    var result = {};   //hash表
    for(var i=0;i<arr.length;i++){    //循环遍历数组
        if(!result[arr[i]]){  //如果遍历到的数组不在hash表中
            result[arr[i]] = true;  //将当前遍历到的数组元素存入到hash表中
            newArr.push(arr[i]);  //将当前元素push到新数组
        }
    }
    console.log(newArr);

    //第二种方法
    var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
    var newArr = [];   //定义一个新的临时数组
    for(var i=0;i<arr.length;i++){   //遍历数组
        if(newArr.indexOf(arr[i])==-1) newArr.push(arr[i]);
        //判断当前元素是否能在临时数组中找到,如果没找到就将其追加到临时数组中,再对当前元素后面的元素继续查找以及比较
    }

    console.log(newArr);

    //第三种方式
    var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
    arr.sort();   //先将数组排序
    var newArr=[arr[0]];   //定义一个新数组,并将数组第一个元素放到新数组中
    for(var i=0;i<arr.length;i++){
        if(arr[i] !==newArr[newArr.length-1]){ //通过判断相邻两项是否相等,然后项新数组中追加元素,返回新数组
            newArr.push(arr[i]);
        }
    }
    console.log(newArr);

</script>

数组去重的多种方法实现

标签:res   war   方式   rip   第一个   dex   indexof   数组   元素   

原文地址:http://www.cnblogs.com/amaya-mei/p/6041035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!