["ス", "モ", "モ", "も", "モ", "モ", "も", "モ", "モ", "の", "う", "ち"]
という配列から
重複件数を取得して以下のようなオブジェクトを作りたい
{
ち=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