gpt4 book ai didi

javascript - 寻找数组的众数? JavaScript

转载 作者:行者123 更新时间:2023-12-03 08:51:45 25 4
gpt4 key购买 nike

好吧,我只知道如何从数组中获取一种模式..但如果它们出现的次数相同,我希望得到 2、3 或更多。这是代码:

var frequency = {};  // array of frequency.
var maxFreq = 0; // holds the max frequency.

for (var i in array) {
frequency[array[i]] = (frequency[array[i]] || 0) + 1; // increment frequency.

if (frequency[array[i]] > maxFreq) { // is this frequency > max so far ?
maxFreq = frequency[array[i]]; // update max.
mode = array[i]; // update result.
}
}

现在,如果我有一个 array = [3, 8, 3, 6, 1, 2, 9];我得到 mode = 3;

但我正在寻找的是 if array = [3, 6, 1, 9, 2, 3, 6, 6, 3, 1, -8, 7];我想要获取 mode = 3, 6;

最佳答案

问题没有说明如何获取模式,但如果我们希望它们位于数组中,我们可以像这样更改代码:

function getModes(array) {
var frequency = []; // array of frequency.
var maxFreq = 0; // holds the max frequency.
var modes = [];

for (var i in array) {
frequency[array[i]] = (frequency[array[i]] || 0) + 1; // increment frequency.

if (frequency[array[i]] > maxFreq) { // is this frequency > max so far ?
maxFreq = frequency[array[i]]; // update max.
}
}

for (var k in frequency) {
if (frequency[k] == maxFreq) {
modes.push(k);
}
}

return modes;
}

alert(getModes([3, 6, 1, 9, 2, 3, 6, 6, 3, 1, -8, 7]));

关于javascript - 寻找数组的众数? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32648153/

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