2017-06-21 60 views
-1

我正在製作一個隨機字母生成器。它必須在儘可能少的嘗試中找到給定的單詞。它列出了陣列中每次嘗試的次數。我想獲得數組中最不頻繁的值。獲得陣列中的最低頻率JS

我已經得到了最常見的值與this

我想這對於最低頻率工作,但它不能正常工作,給我的最後一個項目,有1個occurence每次:

var mif = 1; 
var itemin; 
if (m <= mif) { 
    mif = m; 
    itemin = generations[i]; 
} 
+0

這段代碼做了什麼? –

+0

創建一個最小頻率變量,然後用一個變量存儲具有最低頻率的項目,然後(使用來自帖子I的for循環鏈接),檢查每個項目的計數是否等於或小於最小頻率,如果它是,將最小頻率更改爲m(計數) – Thanrek

回答

0

你應該有一個更大的值初始化VAR:

var arr1 = [3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3]; 
 
var mif = 99999999999999; 
 
var m = 0; 
 
var itemin; 
 
for (var i = 0; i < arr1.length; i++) { 
 
    for (var j = 0; j < arr1.length; j++) { 
 
    if (arr1[i] == arr1[j]) 
 
     m++; 
 
    } 
 
    if (mif > m) { 
 
    mif = m; 
 
    itemin = arr1[i]; 
 
    } 
 
    console.log(arr1[i] + ' exist ' + m + ' times in array'); 
 
    m = 0; 
 
} 
 
console.log('item less frequent : ' + itemin);