博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组的去重
阅读量:5173 次
发布时间:2019-06-13

本文共 1161 字,大约阅读时间需要 3 分钟。

<!DOCTYPE html>

<html lang="en">

<head>

         <meta charset="UTF-8">

         <title>Document</title>

         <script type="text/javascript">

       //方法1:

                   //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="zhaoyuxiang";

                   // obj.age=23;

                   //把数组变成对象

                   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));

 

 

 

      //方法2:

      var arr=[2,6,57,7,2,8,5,9,8,4,7];

      var arr1=[];
      var k=0;
      for(var i=0;i<arr.length;i++){
        if(qc(arr1,arr[i])){
          arr1[k]=arr[i];
          k++;
        }
      }

      function qc(arr,val){
        for(var j=0;j<arr.length;j++){
          if(arr[j]==val){
            return false;
          }
        }
        return true;
      }

      console.log(arr1);

         </script>

</head>

<body>

</body>

</html>

转载于:https://www.cnblogs.com/skylark-one/p/6829477.html

你可能感兴趣的文章
BZOJ4060 : [Cerc2012]Word equations
查看>>
hdu2089不要62(数位dp)
查看>>
JAVA输出最大值和最小值
查看>>
64位weblogic11g安装
查看>>
oracle、mysql、sql server等;流行数据库的链接驱动配置
查看>>
UvaLive 6664 Clock Hands
查看>>
PCB 周期计算采用 SQL 函数调用.net Dll 标量函数 实现
查看>>
Problem B: 取石子
查看>>
Python学习笔记001——Linux
查看>>
Vue: 常用指令
查看>>
简单介绍.Net3.0 中跨线程访问控件
查看>>
oracle imp 工具可能出现的问题
查看>>
bzoj1045题解
查看>>
学习Cocos2d的博客 --推荐
查看>>
SpringMVC中@RequestMapping参数设置
查看>>
lea实现加法
查看>>
文件操作
查看>>
spring容器启动的加载过程(三)
查看>>
jdbc连接数据库代码
查看>>
loadrunner使用system()函数调用Tesseract-OCR识别验证码遇到的问题
查看>>