配列内に重複して存在する単語の発生数を取得したい。
例として、こんな配列を用意します。(単語は適当です)
["take", "your", "time", "take", "care", "of", "your", "take"]
function myFunction() { var num = 0; var word = []; var count = []; var values = ["take", "your", "time", "take", "care", "of", "your", "take"]; values = values.sort(); for (var i = 0; i < values.length; i++) { if(i == 0){ word.push(values[i]); count.push(1); num = i; }else if(values[i] == values[(i-1)]) { count[num] = count[num] + 1; }else { word.push(values[i]); count.push(1); num = num + 1;//ここでnum + 1しないと重複した単語がある場合配列の順番が飛び飛びになる } } Logger.log([word, count]); }
実行したログはこちら↓