JavaScript 数组对象的去重

JavaScript数组去重

1、原型去重法。通过prototype找到数组的源性对象Array,在数组的原型上添加unique()方法。需要使用的时候使用 点 “ . ” 进行连接。

  优点:扩展性比较高,复用性比较高。

  缺点:通过给数组对象扩展,新增方法,导致数组结构中有新增了一个方法。此时如果用for-in遍历,需要注意。会有一个unique的方法会当做key和value遍历出来。

  解决:使用for循环,条件自己设置。或者在for-in下加一个判断, 判断已有数组中是否包含这个对象元素。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>数组查重</title>
        <script type="text/javascript">
            var arr=["1","2","3","1","4","5","4"];
            Array.prototype.unique=function(){
                var arr1=[];
                for(var i=0; i<this.length; i++){
                    if(arr1.indexOf(this[i])==-1){
                        arr1.push(this[i]);
                    }
                }
                return arr1;
            }
            alert(arr.unique().toString());
        </script>
    </head>
    <body>
    </body>
</html>

 

 

posted @ 2018-01-19 17:29  王维璋  阅读(948)  评论(0编辑  收藏  举报