创建2个维数组(creating 2 dimension arrays)

2019-07-04 03:45发布

我是新来的JS,需要一些基本的帮助:

我有有数据的方阵的电子表格。

我可以如下阅读这些数据:

  var freqArr     = new Array(new Array());
  var freqSheet   = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("freq");
  var freqRows    = freqSheet.getDataRange();
  var freqNumRows = freqRows.getNumRows();
  freqArr = freqSheet.getRange(2, 2, freqNumRows, freqNumRows).getValues();

我现在要创建一个类似于我已经从片材读取的一个在存储器阵列

 var tempArr = new Array(new Array());
  for (var i = 0; i <= 3; i++) {
    for (var j = 0; j <= 3; j++) {        
      tempArr [i][j] = freqArr[i][j] ;
    }
  }

一旦为J INCS从0到1,我尝试存储任何东西tempArr [i] [j]我得到一个错误“类型错误:无法设置属性‘0.0 XXX’未定义的‘’

我曾尝试创建tempArr的每一个组合,我能想到更多再加上一些的。

Answer 1:

有人比我聪明多了也许可以帮你写这更好,但它看起来我的方式是,你要创建tempArr作为主阵列,这将有它内部的2个阵列。

内的每个这些阵列中的哪些值,因此:

// result: tempArr = [[1,2],[4,5]]
tempArr = [] // or new Array
for (var i = 0; i <= 3; i++) {
  tempArr[i] = [];
  for (var j = 0; j <= 3; j++) {        
    tempArr[i].push(freqArr[i][j]);
  }
}

创建于tempArr你的第一个主阵列,你的内,每次通过循环,tempArr [i]是一个数组创建时间,第二个为内,你要freqArr的价值推到内部阵列。

UPDATE曾在tempArr [I]一个空间,将已经导致其无法肯定工作。 抱歉!



文章来源: creating 2 dimension arrays