js数组元素为基本类型和对象去重

本文介绍了两种常见的数组去重方法,一是针对基本类型的数组去重,利用哈希表实现;二是针对对象数组,通过对象的特定属性进行去重。这两种方法能够有效地去除重复元素,优化数据结构。

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

常见的数组去重主要有俩方面:

  1. 由基本类型组成的数组去重
  2. 由对象组成的数组根据对象某个属性去重

基本类型去重:

export function unique(array) {
  const arr = []
  const contain = {}
  array.forEach(item => {
    if (!contain.hasOwnProperty(item)) {
      arr.push(item)
      contain[item] = true
    }
  })
  return arr
}

 效果:

根据对象属性去重:

/**
 * 
 * @param {Array} array 
 * @param {string} key ,对象属性名
 * @returns {Array}
 */
export function uniqueByAttr(array, key) {
  const hash = {};
  const arr = array.reduce((preVal, curVal) => {
    hash[curVal[key]]
      ? ""
      : (hash[curVal[key]] = true && preVal.push(curVal));
    return preVal;
  }, []);
  return arr;
}

效果:

脚踏实地行,海阔天空飞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值