ASTERIAで2次元配列を作りたいのですが,
結論からいいますとできませんでした.
2次元配列が作れる方がいらっしゃいましたら,ご教示お願いします.
もとデータ
データはここね.夏の甲子園の出場校をCSVとして保存
dummy.csv
北北海道,旭川大高,9年ぶり8回目
南北海道,北照,5年ぶり4回目
青森,八戸学院光星,2年ぶり9回目
...
なぜ2次元配列を作りたいか
HTMLでTableを作るときやGASでデータを渡すときに
ASTERIAから2次元配列として受取,
2次元配列のままHTMLで加工するのが, 当然ですが一番楽です.
しかも, この作業の頻度が多いです.
JSONEncodeをそのまま渡す
そのままJSONEncodeコンポーネントに渡すと
これだとHTML側のJSで連想配列を2次元配列に直す過程が生まれる.
問題は"地区","代表校","出場歴"の順番はHTML側で受け取るときに
文字コード順になるので, 必ず"地区","代表校","出場歴"にはならない.
よって, JS側で関数を作っても, 順番は毎回毎回指定しなおさないといけない.
function covertFromObjToD2Array(obj){
var recordArr = obj.record;
var tagArr = ['地区','代表校','出場歴'];
// for(key in obj)だと並び順がずれる可能性があるので
// tagArrを毎回変更することを求められる
var resultD2Arr = [];
for(var i = 0; i < recordArr.length; i++){
var recordObj = recordArr[i];
var resultArr =[];
for(var j=0; j < tagArr.length; j++){
resultArr[j] = recordObj[tagArr[j]];
}
resultD2Arr.push(resultArr);
}
return resultD2Arr;
}
/* resultD2Arr そもそもこの形をASTERIAで作りたい
[
[北北海道, 旭川大高, 9年ぶり8回目],
[南北海道, 北照, 5年ぶり4回目],
[青森, 八戸学院光星, 2年ぶり9回目],
.......
]
*/
ASTERIAで実現できないのか?
そもそもこのcovertFromObjToD2Array関数自体いらないように,
ASTERIAで実現させたいです.
ParameterListの配列(=String[])を使えば, 1次元配列を作ることはできるのですが
2次元配列になると私の力量ではできませんでした.
このやり方をご存知の方がいらっしゃいましたら, ご教示お願いします.