原生 JS 实现 lodash 的 uniqBy 方法

3 阅读1分钟

原生 JS 实现 uniqBy

// 原生 JS 实现 uniqBy
const uniqBy = (arr, key) => {
    const seen = new Set()
    return arr.filter((item) => {
        const val = item[key]
        if (seen.has(val)) return false
        seen.add(val)
        return true
    })
}

使用示例

// 使用示例
const data = [
    {name: 'bob', value: 1},
    {name: 'lili', value: 3},
    {name: 'bob', value: 1},
    {name: 'mary', value: 10},
]
const res = uniqBy(data, 'value')