LoginSignup
0
1

More than 5 years have passed since last update.

ASTERIA 2次元配列をどうつくる??

Last updated at Posted at 2018-08-06

ASTERIAで2次元配列を作りたいのですが,
結論からいいますとできませんでした.
2次元配列が作れる方がいらっしゃいましたら,ご教示お願いします.

もとデータ

データはここね.夏の甲子園の出場校をCSVとして保存

dummy.csv
北北海道,旭川大高,9年ぶり8回目
南北海道,北照,5年ぶり4回目
青森,八戸学院光星,2年ぶり9回目
...

なぜ2次元配列を作りたいか

HTMLでTableを作るときやGASでデータを渡すときに
ASTERIAから2次元配列として受取,
2次元配列のままHTMLで加工するのが, 当然ですが一番楽です.

しかも, この作業の頻度が多いです.

JSONEncodeをそのまま渡す

そのままJSONEncodeコンポーネントに渡すと

qiita_20180806_1.png

これだと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次元配列になると私の力量ではできませんでした.

このやり方をご存知の方がいらっしゃいましたら, ご教示お願いします.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1