javascript中如何去掉数组中的重复项

<!DOCTYPE html>

<html lang="en">

<head>

         <meta charset="UTF-8">

         <title>Document</title>

         <script type="text/javascript">

                   //js对象特性:在js对象中key是永远不会重复的

                   /*

                            1.把数组转成一个js对象

                            2.把数组中的值变成js对象中的key

                            3.把这个对象再次还原成数组

                   */

                   var arr=[2,1,2,10,2,3,5,10,13];

                   // var obj=new Object();

                   // obj.name="xushouwei";

                   // obj.age=30;

                   //把数组变成对象

                   function toObject(arr)

                   {

                            var obj={};

                            for(var i=0;i<arr.length;i++)

                            {

                                     obj[arr[i]]=true;

                            }

                            return obj;

                   }

                   //把对象变成数组

                   function keys(obj)

                   {

                            var arr=[];

                            for(var attr in obj)

                            {

                                     if(obj.hasOwnProperty(attr))

                                     {

                                               arr.push(attr);

                                     }

                            }

                            return arr;

                   }

                   //综合的方法用于去掉数组中的重复项

                   function uniq(newarr)

                   {

                            return keys(toObject(newarr));

                   }

                   console.log(uniq(arr));

         </script>

</head>

<body>

</body>

</html>

原文地址:https://www.cnblogs.com/Jasxu/p/uniq_array.html