google app scriptで下記の方法でリストを作りました。
var array1 = {}; array1["Q1"] = 3.0; array1["Q2"] = 5.0; ...以下 Q10まで続く
Logger.log(array1)で、このようになりました。
{Q1=3.0, Q2=5.0...}
ここで、Q1からQ10までの回答を、スコアが高かった順に並べ替えをしたいと思っています。
ネットで調べたところ、
●このようにkey とvalueのセットが並んでいるものを【連想配列】という。
●連想配列の並べ方は、JavaScriptと同じで、このようにする。
(参考) https://mell0w-5phere.net/jaded5phere/2018/03/16/hashmap-sort/ https://java.keicode.com/lib/collections-sort.php var arr={ "yajue":810, "iku":1919, "iiyo":114514, "miroyo":364364, "kusai":931, "yakuza":893 }; var keys=[]; for(var key in arr)keys.push(key); function Compare(a,b){ return arr[a]-arr[b]; } keys.sort(Compare); console.log(keys);
pythonではこのような「連想配列」を「辞書」と読んでおり、
valueで並べ替えをするのも、上記よりもはるかに簡単、一行で済んでいました。
それだけに、「本当にここまで複雑なことをしなければ行けないのか?」…と確かめたく、こちらに投稿致しました。
1.
この方法でやるしかないのか・・・
それとも、より簡単な「並べ替え」の方法があれば、お教え下さい。
2.
また、私のコードでは{Q1=3.0, ...}とイコールで結ばれていますが、
ネット上のサンプルでは、{"yajue":810,...}と、転んで結ばれています。
これらの違いについてもお教えいただけませんでしょうか。
どうぞよろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。