编写一个程序来查找数组中最频繁项目的数量。假设输入是整数数组。Javascript函数。什么不见了?
实施例:
输入数组:[3, -1, -1, -1, 2, 3, -1, 3, -1, 2, 4, 9, 3]
Ouptut:5
例如在大多数频繁数数组是-1。它在输入数组中出现5次。
这里是我的代码:
function mostFrequentItemCount(collection) {
var copy = collection.slice(0);
for (var i = 0; i < collection.length; i++) {
var output = 0;
for (var x = 0; x < copy.length; x++) {
if (collection[i] == copy[x]) {
output++;
}
}
}
return output;
}
这似乎只是计算的第一个数字的复发阵列不发生的大多数1英寸我无法弄清楚如何让它算出最发生的一个。
你似乎没有在做任何事情,它会让你到每一个独特的整数的计数比较给他人,以获得一个最大的。 –
不仅如此,而且你正在返回计数变量'output',而不是其个人计数(你甚至不会收集)的数字是最高的。 – Alnitak
一个减少将是解决这个问题的最简单的方法(有上MDN一个例子,会给您提供一个包含计数的每个整数的关键......它让你最的方式来解决的对象) –