12星座の英語名と日本語名のオブジェクトの中から
英語名に us を含むものだけを抜き出して
新たな配列を作る
コード.gsを実行すると以下のようなログが出ます
コード.gs
var obj = [ {"en": "Aries", "ja": "おひつじ座"}, {"en": "Taurus", "ja": "おうし座"}, {"en": "Gemini", "ja": "ふたご座"}, {"en": "Cancer", "ja": "かに座"}, {"en": "Leo", "ja": "しし座"}, {"en": "Virgo", "ja": "おとめ座"}, {"en": "Libra", "ja": "てんびん座"}, {"en": "Scorpius", "ja": "さそり座"}, {"en": "Sagittarius", "ja": "いて座"}, {"en": "Capriconus", "ja": "やぎ座"}, {"en": "Aquarius", "ja": "みずがめ座"}, {"en": "Pisces", "ja": "うお座"} ] var pattern; function filter_obj() { pattern = "us"; var filtered = obj.filter(judge); var result = get_result(filtered); Logger.log(result); } function judge(items) { var regexp = new RegExp(pattern); var judged = regexp.test(items["en"]); return judged; } function get_result(filtered) { var result = []; for (var i = 0; i < filtered.length; i++) { result.push([filtered[i]["en"], filtered[i]["ja"]]); } return result; } |
意訳星座名を英語と日本語のオブジェクトにして用意しておく patternの入れ物を用意しておく この機能がやること patternを決める(この例では us を) signsの中身をjudgeで処理した結果を取得して get_resultに渡して ログに出す この機能がやること patternで正規表現を作って obj["en"]の要素の中で正規表現に一致すれば 返す この機能がやること resultの入れ物を作って 受け取ったfilteredの数だけ繰り返す enとjaのセットをそれぞれresultに追加する 最終的なresultを返す |
参考
JavaScript test() Method
https://www.w3schools.com/jsref/jsref_regexp_test.asp
JavaScript Array filter() Method
https://www.w3schools.com/jsref/jsref_filter.asp