Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

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]);
}

実行したログはこちら↓




Latest post

Google Classroom API でクラスの一覧を取得したい

自分が指導・参加しているクラスの名称とIDを取得するコードを試しました 下記 Code.gs では pageSize で 100 を設定していますが 必ず 100件 返ってくるとは限らないらしいです https://developers.google.com/workspace/...