2017-06-21 10 views
-1

私はランダムな文字ジェネレータを作っています。最小の試行で与えられた単語を見つけなければならない。これは、配列内で毎回試行回数をリストします。私は配列の中で最も頻繁に値を取得したい。配列の頻度が最も低くなるJS

私はすでに私が最も低い周波数のためにこれを試してみましたが、それは動作しませんし、私の最後の項目を与え、1つの出現のたびにthis

で動作するように最頻値を得た:

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

このコードは何をしますか? –

+0

は最小頻度変数を作成し、最も頻度の低い項目を格納する変数を作成し(リンク先の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);

関連する問題