【发布时间】:2018-01-21 21:21:47
【问题描述】:
通过贡献,我设法找到了编写函数来查找给定数字集的模式的代码。我试图准确了解该函数的作用,但我被困在该函数的 1 部分。
我尝试在控制台记录所有内容,但我无法理解其中的一部分。
在我们按照出现次数对数组中的数字进行排序后,我们使用另一个循环来获取出现次数最多的数字的键值。在此之前,我们声明变量 compare 并将其设置为 0 和一个空模式变量。
我无法理解的部分是理解为什么我们需要将 freq[item] 与 compare 变量进行比较,如果该语句为真,我们需要将 compare 设置为 freq[item]。
有人可以解释一下到底发生了什么吗?
干杯。
function getMostFrequent(arr) {
var freq = {}
for (item of arr) {
freq[item] ? freq[item]++ : freq[item] = 1
}
var compare = 0
var mode
for (item in freq) {
if (freq[item] > compare) {
compare = freq[item]
mode = item
}
}
console.log(parseInt(mode))
}
getMostFrequent([1,1,3,3,2,2,5,5,5,3,3,3,3]);
【问题讨论】:
标签: javascript logic