LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2019年6月26日水曜日

配列内で重複する値の発生数を取得してオブジェクトを配列に入れて返す3


["ス", "モ", "モ", "も", "モ", "モ", "も", "モ", "モ", "の", "う", "ち"]

という配列から

重複件数を取得して以下のようなオブジェクトを作りたい

{
  ち=1.0,
  も=2.0,
  モ=6.0,
  う=1.0,
  ス=1.0,
  の=1.0
}



コード.gs
function get_result(){
  var array = ["ス", "モ", "モ", "も", "モ", "モ", "も", "モ", "モ", "の", "う", "ち"];
  var result = get_match_count(array);
  Logger.log(result);
}

function get_match_count(array){
  var sorted = array.sort();
  var count;
  var unique_i;
  var obj = {}
  for(var i = 0; i < sorted.length; i++){
    var value = sorted[i];
    if(value === sorted[i-1]){
      count++;
      obj[value] = count;
    }else{
      count = 1;
      obj[value] = count;
    }
  }
  return obj;
}


関連記事

配列内で重複する値の発生数を取得してオブジェクトを配列に入れて返す2


最新の投稿

Pixel 5でSuicaが使えないときはGoogle PayでSuicaを有効にしてみる

Pixel 5への機種変でSuicaが使えない人向けに書きました。 MISSION Pixel 5でSuicaを使えるようにする SOLUTION 旧端末で機種変更の設定を行う NFCをオンにする Google PayでSuicaを有効にする PROBLEMS 以前...