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

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

  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
}

 效果:

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

 

根据对象属性去重:

/**
 * 
 * @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;
}

效果:

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

 

 

脚踏实地行,海阔天空飞

 

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

上一篇:Java集合框架详细总结


下一篇:030、javascrip 操作元素 01、聚集元素到屏幕顶部(纵向滚动,顶部、底部)