gpt4 book ai didi

javascript - 在 javascript 中出现次数最多

转载 作者:可可西里 更新时间:2023-11-01 13:20:46 24 4
gpt4 key购买 nike

您好,我对 JavaScript 的了解非常有限且基础。基本上下面是我会提示一个弹出窗口,显示值的答案。事情来 self 在下面找到的编码如果我必须插入一个数组让我们说 1,2,3,2 输出将是 , 因为它出现次数最多在数组中。有没有办法编辑此代码,以便上面输入的答案为 2

我已经做了相当多的研究:

链接如下:

代码:

<script type="text/javascript">
function evaluate() {
var input = prompt("Please enter your input");
var array = new Array();

function mode(array)
{
if(array.length == 0)
return null;
var modeMap = {};
var maxEl = array[0], maxCount = 1;
for(var i = 0; i < array.length; i++)
{
var el = array[i];
if(modeMap[el] == null)
modeMap[el] = 1;
else
modeMap[el]++;
if(modeMap[el] > maxCount)
{
maxEl = el;
maxCount = modeMap[el];
}
}
return maxEl;
}
document.writeln("Your calculation is: ");
document.writeln(mode(input) + " with a starting input string of: " + input);

}
</script>
<script type="text/javascript">
evaluate();
</script>

最佳答案

您想先将字符串'1,2,3,2' 转换为数组[ 1, 2, 3, 2 ]。这可以通过 split 来完成功能。你可能还想 trim每个元素以防有人用空格格式化它们。

function evaluate() {
const input = prompt("Please enter the array of integers")
.split(',')
.map(item => item.trim());

function mode(items) {
const counts = items
.reduce((counts, item) => {
const currentItemCount = counts.get(item) || 0;
return counts.set(item, currentItemCount + 1);
}, new Map());
const maxEntry = Array.from(counts.entries())
.reduce((maxEntry, entry) => {
return entry[1] > maxEntry[1] ? entry : maxEntry;
});
return maxEntry[0];
}

document.writeln("Your calculation is: ");
document.writeln(mode(input) + " with a starting input string of: " + input);
}

evaluate();

关于javascript - 在 javascript 中出现次数最多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49349737/

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