LANG SELRCT

コードを書く場所

2019年6月26日水曜日

JavaScriptで2次元配列から順番に要素を取り出して新しい2次元配列を作りたい


このような配列があって

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]


内側の配列の前から順に要素を取り出して
このような新しい配列を作りたい

 [[1, 4, 7], [2, 5, 8], [3, 6, 9]]


簡単にできるかと思ったら意外と時間がかかって、頭をひねったコードです。



コード.gs
function arraysPush() {
  var values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
  var arrays = [];
  for(var h = 0; h < values[0].length; h++) {
    var array = [];
    arrays.push(array);
  }
  
  for(var i = 0; i < values.length; i++) {
    var target = values[i];
    for(var j = 0; j < target.length; j++) {
      arrays[j].push(target[j])
    }
  }
  Logger.log(arrays);
}