【问题标题】:Remove value from array if it repeats x times | JavaScript如果重复 x 次,则从数组中删除值 | JavaScript
【发布时间】:2021-10-10 09:10:45
【问题描述】:

我有一个包含值的数组,我想知道如果值重复 3 或 4 次,减少它的最佳方法是什么?

我知道如何删除重复项,但如果我希望该值重复两次怎么办?

让我们举个例子:

let arr = [1,1,1,3,3,2,4,4,7,7,7,7]
let n = 2 //so I want numbers to repeat maximum two times

结果是:

[1,1,3,3,2,4,4,7,7]

【问题讨论】:

标签: javascript arrays duplicates


【解决方案1】:

看看这个,可能会有帮助:

const reducer = (arr, n) => Object
   .entries(arr.reduce((all, x) => (all[x] ? all[x]++ : all[x] = 1, all), {}))
   .reduce((arr, x) => arr.concat(Array(x[1] > n ? n : x[1]).fill(x[0])), []);

let arr = [1,1,1,3,3,2,4,4,7,7,7,7]
let n = 2
reducer(arr, n) // Array(9) [ "1", "1", "2", "3", "3", "4", "4", "7", "7" ]

【讨论】:

    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2018-05-15
    • 2018-11-27
    • 2019-06-02
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多