Js数组怎么根据某个对象值去重

2023-06-12 16:38:40 对象 数组 js

今天小编给大家分享一下Js数组怎么根据某个对象值去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1、 普通去重

function unique1 (arr) {
  return Array.from(new Set(arr))
}


function unique2 (arr) {
    return arr.filter((item, index)=> {
        return arr.indexOf(item) === index
    })
}

unique([1,2,3,3,4,4,4,5])
// [1, 2, 3, 4, 5]

2、根据某个对象值去重

function unique(arr,key) {
  const res = new Map();
  return arr.filter((a) => !res.has(a[key]) && res.set(a[key], 1))
}


unique([
  {
  from:'张三',
  to: '河南'
  },
  {
    from:'王二',
    to: '杭州'
  },
  {
    from:'王二',
    to: '河南'
  },
  {
    from:'王二',
    to: '山东'
  },
],'from')

相关文章