lodash: Get duplicate values from an array

前端 未结 12 2214
执念已碎
执念已碎 2020-12-09 08:14

Say I have an array like this: [1, 1, 2, 2, 3]

I want to get the duplicates which are in this case: [1, 2]

Does lodash support thi

12条回答
  •  南方客
    南方客 (楼主)
    2020-12-09 08:41

    You can make use of a counter object. This will have each number as key and total number of occurrence as their value. You can use filter to get the numbers when the counter for the number becomes 2

    const array = [1, 1, 2, 2, 3],
          counter = {};
          
    const duplicates = array.filter(n => (counter[n] = counter[n] + 1 || 1) === 2)
    
    console.log(duplicates)

提交回复
热议问题