[w-每日一练]——数组去重

本文介绍了一种使用JavaScript实现数组去重的方法,包括单数组去重和多数组联合去重的技巧。通过遍历和比较元素,确保数组中每个元素的唯一性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组去重(一个数组)

function fn(arr){
    //新建一个空数组接收
   var newArr =[];
   //遍历数组,push到新数组
   for(var i = 0 ; i < array.length ; i++){
    if(newArr.indexOf(array[i])==-1){
        newArr.push(array[i]);
    }
   }
   return newArr;
}

var array = [1,2,2,4,9,6,7,5,2,3,5,6,5];
console.log(fn(array));

数组去重(多个数组)

function unite(arr1, arr2, arr3){
  //使用arguments遍历所有数组,并且放入一个newArr中
  var newArr = Array.from(arguments);
  //使用reduce遍历新数组,根据reduce的参数,a来表示上一次调用返回的值,b来表示正在处理的元素
  //然后把b都拼接到a当中,最后返回的 arr = [arr1,arr2,arr3],合成了一个大数组,方便我们使用函数。
  var arr = newArr.reduce(function(a,b){
    return a.concat(b);
  });
  //最后使用filter遍历arr,根据filter的参数,element代表当前元素,index代表当前元素的索引。
  return arr.filter(function(element,index){
    //核心函数:filter筛选出当前函数 ==它当前的索引,比如上面第一例中,当element指向第一个2时,
    return arr.indexOf(element) == index;
  });

}

unite([1, 3, 2], [5, 2, 1, 4], [2, 1]);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值