JavaScript 中如何判断元素是否重复出现超过 n 次


我们需要编写一个 JavaScript 函数,它接收两个参数:

  • 一个数组 arr,它可能包含一些重复的元素。

  • 一个数字 limit。

该函数应验证数组中没有任何元素重复超过 limit 次。如果任何元素重复超过 limit 次,则函数应返回 false,否则返回 true。

因此,让我们编写此函数的代码:

示例

代码如下:

const arr = [4, 6, 7, 4, 2, 5, 7, 7, 4, 4, 3];
const validateElements = (arr, n) => {
   const counts = arr.reduce((acc, el) => {
      acc[el] = (acc[el] + 1) || 1;
      return acc;
   }, {});
   return Object.values(counts).every(c => {
      return c < n;
   });
};
console.log(validateElements(arr, 3));
console.log(validateElements(arr, 4));
console.log(validateElements(arr, 6));

输出

控制台输出将为:

false
false
true

更新于: 2020-10-24

113 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告