javaScript数组去重两种方法

    var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"]

    var obj={};
    for(var i=0;i<arr.length;i++)
    {
      if(arr[i] in obj)
      {
        obj[arr[i]]+=1;

      }
      else
      {
        obj[arr[i]]=1;
      }
    }
    console.log(obj);
var newArr=[];
    for(var key in obj)
    {
      newArr.push(key);
    }
    console.log(newArr);
  var newArr1=Object.keys(obj);
    console.log(newArr);
    

方法二

var newarr=[];
    for(var i=0;i<arr.length;i++)
    {
      var flag=true;
      for(var j=0;i<newarr.length;j++)
      {
        if(arr[i]==newarr[j])
        {
            flag=false;
            continue;
        }
      }
      if(flag)
      {
        newarr.push(arr[i]);
      }
    }
    console.log(newarr);

原文地址:https://www.cnblogs.com/f2ehe/p/11668033.html

时间: 2024-10-12 18:08:08

javaScript数组去重两种方法的相关文章

JavaScript数组去重6种方法

数组去重涉及基础知识较多,总结了以下6个方法: 双重for循环,push新数组: 双重for循环,splice原数组: 单个for循环,遍历对象属性: 单个for循环,sort排序后遍历: ES5,indexOf,定位去重: ES6,... 及set方法. 1.双层循环,若有相同的值则跳过,不相同则push进新数组 1 Array.prototype.distinct1 = function(){ 2 var arr = this, 3 i,j, 4 len = arr.length, 5 re

[Arduino] 逗号分隔文本到数组的两种方法

以下是今日练习通过逗号来分割字符数组/字符串的2个例子和方法" 1.通过indexOf函数 /* *Splitsplit sketch *split a comma-separated string */ String message = "Peter,Paul,Mary"; int commaPosition; void setup(){ Serial.begin(9600); } void loop(){ Serial.println(message); do{ comm

python将两个数组合并成一个数组的两种方法的代码

内容过程中,把写内容过程中常用的内容收藏起来,下面的资料是关于python将两个数组合并成一个数组的两种方法的内容,希望能对小伙伴们有帮助. c1 = ["Red","Green","Blue"]c2 = ["Orange","Yellow","Indigo"]c1.extend(c2) assert c1 == ["Red","Green",&q

python遍历数组的两种方法的代码

工作过程中,把开发过程中较好的一些内容段备份一下,下面内容是关于python遍历数组的两种方法的内容,希望对小伙伴有用途. colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获得数组的长度,然后根据索引号遍历数组,同时输出索引号 colours = ["red","gree

非指针 复制对象和数组的两种方法

JS在复制对象的时候,复制的是指针.有复制关系的两个对象,一个改变时另一个的值也跟着变了.数组也是对象,也存在这种现象. 实现对象的非指针复制的最简单方法: var obj2 = JSON.parse(JSON.stringify(obj1)); 原理就是利用JSON方法,先将对象obj1转成字符串,再解析为对象赋值给obj2.这样obj1和obj2就指向内存中的不同对象了,虽然值一样,但是检测 obj1==obj2 得到 false . 题外话:对象和数组的相等判断,得到的结果不是字面量一不一

javascript遍历数组的两种方法

var array=new Array(); array [0]="北京"; array [1]="天津"; ...//solution 1 for(var i=0;i<array.length;i++){ alert(array[i]); } //solution 2 for(var array_index in array){ //array_index 位置索引,从0開始 alert(array[array_index]); }

创建对象、数组的两种方法以及对比

创建Object()对象 1 var t = new Object(); //创建了一个对象t. 2 //new:会创建一个对象,然后对象执行Object函数.最后返回一个对象实例 3 // js是一个动态语言,可以随时添加属性和方法 4 t.age = 19; 5 t.name = 'jeck'; 6 t.run = function(){ 7 console.log('我是你爸爸'); 8 }; 9 t['demo'] = 'demo2' 10 11 //对象的使用 12 //第一种方式:使

前端和后台对时间数值的增减操作(JavaScript和C#两种方法)

最近在做一个视频回放项目,记录下一点总结. 应用背景: 假设有一个门禁系统记录着门禁的人员进出刷卡信息,门禁装有视频录像设备,现在要根据人员的刷卡时间调出其刷卡时间点前后一段时间的录像.关于视频回放部分具体实现过程较复杂本文不涉及,提一下其中涉及到的对时间数值的增减操作. 目标: 以时间格式的字符串“2015-01-01 00:00:00”为例,返回该时间点前30秒和后30秒的时间格式的字符串. 前端和后台起始都可以实现,只是方法不同而已. 后台(C#)实现方法: 1 string str =

python遍历数组的两种方法

第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 第二种,先获得数组的长度,然后根据索引号遍历数组,同时输出索引号 colours = ["red","green","blue"] for i in range(0,