数组去重 JavaScript

一、push内置对象

在写数组去重前先了解push对象
push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
具体语法:

var arr=[1,2,3,'crazy'];
arr.push('我是新增的');
console.log(arr);//返回的是新增的数组  此时数组长度length应该为五
console.log(arr.push('我是继续新增的'));//返回的是继续新增的数组长度   此时数组长度为6
console.log(arr);//返回继续新增后的数组

运行截图如下:
在这里插入图片描述

二、 indexOf内置对象

还有了解一下寻找数组元素索引的方法
indexOf()方法返回在数组中可以从前往后找到一个给定元素的第一个索引,如果不存在,则返回-1。
具体语法:

 // 返回数组元素索引号方法  indexOf(数组元素)  作用就是返回该数组元素的索引号 从前面开始查找
        // 它只返回第一个满足条件的索引号 
        // 它如果在该数组里面找不到元素,则返回的是 -1  
        var arr = ['red', 'green', 'pink'];
        console.log(arr.indexOf('blue'));//因为找不到blue 所以返回的是-1

此时返回-1 因为找不到元素

  var arr = ['red', 'green', 'pink','blue'];
  console.log(arr.indexOf('blue'));//blue在原数组中索引为3 所以返回3

此时返回blue的索引4

三、数组去重算法

数组去重 [‘c’, ‘a’, ‘z’, ‘a’, ‘x’, ‘a’, ‘x’, ‘c’, ‘b’] 要求去除数组中重复的元素。
/1.目标: 把旧数组里面不重复的元素选取出来放到新数组中, 重复的元素只保留一个, 放到新数组中去重。
2.核心算法: 我们遍历旧数组 然后拿着旧数组元素去查询新数组 如果该元素在新数组里面没有出现过 我们就添加,否则不添加。
这样新数组就没有旧数组中重复的元素了,达到了数组去重的目的
3.我们怎么知道该元素没有存在?利用 新数组.indexOf(数组元素) 如果返回时 - 1 就说明 新数组里面没有改元素
封装一个去重的函数
具体代码实现:

function deduplication(array) 
        {
            var arc=[];//新数组
            for (var i = 0; i< array.length; i++) //遍历旧数组
        {
              if(arc.indexOf(array[i])===-1)//全等 数值类型 数组都相等  
              //在新数组中寻找是否出现过 旧数组array[i]  等于-1说明没有出现过
              {
               arc.push(array[i]);//把旧数组的值放进新数组内
               // arc[arc.length] = array[i];
              }
              else continue;//退出本次循环
        }
        return arc;//返回新数组
        }
        arb = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];//需要去重的数组 即旧数组
        console.log(deduplication(arb));//输出

运行截图如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值