編寫一個程序來查找數組中最頻繁項目的數量。假設輸入是整數數組。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一個例子,會給您提供一個包含計數的每個整數的關鍵......它讓你最的方式來解決的對象) –