LANG SELRCT

コードを書く場所についてはこちら

2017年10月5日木曜日

配列内で重複する値の発生数を取得する

実現したいこと
配列内に重複して存在する単語の発生数を取得したい。

例として、こんな配列を用意します。(単語は適当です)
["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]);
}

実行したログはこちら↓