我们需要编写一个带两个参数的JavaScript函数-
一个数组,例如arr,可能包含一些重复元素的文字。
一个数字,比如说极限。
该函数应验证数组的元素没有重复超过限制次数。如果重复的任何元素超过限制,则该函数应返回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