このようなオブジェクトを
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": "うお座"} ]
このような配列にして返したり
[[Aries, おひつじ座], [Taurus, おうし座], [Gemini, ふたご座], [Cancer, かに座], [Leo, しし座], [Virgo, おとめ座], [Libra, てんびん座], [Scorpius, さそり座], [Sagittarius, いて座], [Capriconus, やぎ座], [Aquarius, みずがめ座], [Pisces, うお座]]
このように改行を入れて返したり
Aries,おひつじ座
Taurus,おうし座
Gemini,ふたご座
Cancer,かに座
Leo,しし座
Virgo,おとめ座
Libra,てんびん座
Scorpius,さそり座
Sagittarius,いて座
Capriconus,やぎ座
Aquarius,みずがめ座
Pisces,うお座
したくて書いたコードです
コード.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": "うお座"} ] function make_arrays(){ var keys = Object.keys(obj[0]); var arrays = []; for(var i = 0; i < obj.length; i++){ var array = []; for(var j = 0; j < keys.length; j++){ var key = keys[j]; array.push(obj[i][key]); } arrays.push(array); } Logger.log(arrays); var rows = make_rows(arrays); Logger.log(rows); } function make_rows(arrays){ var rows = ""; for(var i = 0; i < arrays.length; i++){ rows += arrays[i] + "\n"; } return rows; } |
意訳JSONを用意する この機能がやること objのkeysを取得して(例の場合はenとjaがkey) 結果を入れる配列を用意して objの数だけ以下を繰り返す array配列を用意して keysの数だけ以下を繰り返す(例の場合はenとjaなのでkeysの数は2) keyにkeysの値を1つずつ入れて array配列に追加する arrays配列にarrayを追加する arraysをログに出す arraysをmake_rowsに渡して 結果をログに出す この機能がやること rowsという入れ物を用意して arraysの数だけ繰り返す rowsにarraysの値をひとつずつ改行を付けて足して rowsを返す |
実行結果