gpt4 book ai didi

javascript - 打印出现N次的第一个元素的值

转载 作者:行者123 更新时间:2023-12-03 02:27:46 26 4
gpt4 key购买 nike

所以我正在制作这个 ReactJS 应用程序。

作为过滤系统的一部分,我遇到以下问题:简化...

我有一个数组,假设它是简单的数组,例如 let arr = [1,7,4,3,4,7];我还从用户那里输入了一个 N 变量,它是一个简单的整数输入。

我需要returnconsole.log()重复 N 次的数组中的整数。如果存在非此类重复号码,则记录 err msg 或返回 -1;

例如,

let arr = [1,7,4,3,4,7];let n = 2;我得到7 - cos 7 重复 2 次

let arr = [7,4,5,3,5,5,3,4,3,2,1];let n = 3;我得到5 - cos 5 重复 3 次

let arr = [1,6,4,6,4,6];let n = 4;我得到-1cl("err") - 因为没有任何内容重复 4 次

来自评论的代码:

const getRepeatingNumber = (arr, n) => {
for (unit of arr) {
if (unit === maj_unit) count++;
else {
count--;
if (count === 0) {
maj_unit = unit;
count = 1;
}
}
}
return maj_unit;
}

最佳答案

您可以使用array#every,创建一个累加器并将数字作为键,将其频率作为值,一旦该值达到指定的出现次数,使用从循环中中断返回 false,然后返回结果。

const getRepeatingNumber = (arr, count) => { 
let result = -1, hash = {};
arr.every(n => {
hash[n] = (hash[n] || 0) + 1;
if(hash[n] === count) {
result = n;
return false;
}
return true;
});
return result;
}
console.log(getRepeatingNumber([1,7,4,3,4,7],2));
console.log(getRepeatingNumber([7,4,5,3,5,5,3,4,3,2,1], 3));
console.log(getRepeatingNumber([1,6,4,6,4,6], 4));

关于javascript - 打印出现N次的第一个元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48868925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com