如何验证数组中的元素是否重复? - JavaScript

javascriptweb developmentfront end technologyobject oriented programming

我们需要编写一个接受两个参数 − 的 JavaScript 函数

  • 一个数组,例如 arr,其中可能包含一些重复元素。
  • 一个数字,例如 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

相关文章