JavaScript 一维数组、二维数组(某个属性)去重方法

本文介绍了一维和二维数组的去重方法,包括ES6语法set方法、一维数组的重复元素去除以及根据二维数组中特定属性进行去重的实现。

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

1.使用ES6语法 set方法数组去重::

a=[1,2,3,4,1,2,3,4];
[...new Set(a)];  //[1, 2, 3, 4]

2.一维数组去重方法

function unique1(array){
    var n = []; //一个新的临时数组
   
    for(var i = 0; i < array.length; i++){
       if (n.indexOf(array[i]) == -1) n.push(array[i]);
    }
    return n;
}

3.二维数组去重方法

var unique1 = function(arr) {
          var i = 0,
              j = arr.length,
              cache = {},
              key, result = [];
          for (; i < j; i++) {
              key = arr[i][0];
              key = typeof(key) + key;
              if (!cache[key]) {
                  cache[key] = 1;
                  result.push(arr[i]);
              }
          }
          return result;
      };

4.根据二维数组的某一个属性去重

let arr = [
  {
   id:'232122',
   name: '张三'
  },{
    id:'12122',
    name:'王二',
  }];
//根据数组中的id属性去重

function unique(arr1) {
  const res = new Map();
  return arr1.filter((a) => !res.has(a.id) && res.set(a.id, 1))
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值