如何正确地遍历这个二维javascript数组?

如何正确地遍历这个二维javascript数组?,javascript,arrays,google-apps-script,multidimensional-array,Javascript,Arrays,Google Apps Script,Multidimensional Array,我有一张这样的纸: 我有这个功能: function getRangeAsArrays(sheet) { var dataRange = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn()); var data = dataRange.getValues(); var array = []; for (var r=0; r<sheet.getLastColumn(); r++) {

我有一张这样的纸:

我有这个功能:

    function getRangeAsArrays(sheet) {
  var dataRange = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
  var data = dataRange.getValues();
  var array = [];  
  for (var r=0; r<sheet.getLastColumn(); r++) {
  for (i in data) {
    var row = data[i];
    array.push(row);
       }
    }
  return array;
}
但是当我迭代数组长度(4行)时,我得到了这个(我意想不到的)结果,日志显示
I
变量一直到
14


既然
recipientArray.length
应该给我二维数组的第一个维度,而
recipientArray[i].length
应该给我第二个维度,既然我想要第一个维度(行数)行来解决这个问题?这里出了什么问题?

即使我仍然不确定我是否理解了您需要的内容(我想我有点累了或者我变得愚蠢了……想想看……:),我想知道为什么您要尝试使用单独的函数,因为
range.getValues()
返回的值已经是一个数组了。。。二维数组,但仍然是数组

如果您希望每行创建一个列表框,并将以下单元格添加为项目,那么像这样的双循环将完成此任务。(告诉我我是否完全偏离了主题,谢谢)

我编写了一个带有主结构和注释的示例代码来解释事情的发展方向

function test() {
  var dataRange = SpreadsheetApp.getActiveSheet().getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
  var data = dataRange.getValues();
  Logger.log(data)
  var array = [];  // this is useless
  for (var r=0; r<data.length; r++) {

    // create listBox widget here
    //var listBox = app.createListBox().setName('listBox'+r);   
    for (i in data[0]) {
      var cell = data[r][i];

      //add items to listBox here
      // listBox.addItem(cell);
      array.push(cell);// this is useless
    }
  }
  Logger.log(array);//useless
  return array;//useless
}
功能测试(){
var dataRange=SpreadsheetApp.getActiveSheet().getRange(2,1,sheet.getLastRow(),sheet.getLastColumn());
var data=dataRange.getValues();
Logger.log(数据)
var array=[];//这没用

对于(var r=0;r我不确定我是否完全理解您需要什么…每个列表项中应该包含哪些数据?您好,@Sergeinsas,列表框中的每一行都重复了3次。我需要每一行为该行生成一个(并且只有一个)项目列表。谢谢!@Sergeinsas,看看我的表上有什么:=))这个周末我就开始读了:-)太好了!!!谢谢!如果你发现有什么不清楚的地方,你知道在哪里可以找到我:-)谢谢,@Sergeinsas!!你既不累也不笨,我没意识到
范围已经给了我一个二维数组!所以,我在上面加了更多的维度!非常感谢!我看了你的书d我喜欢有很多代码的书。我已经在亚马逊上读过了。谢谢你写这本书。我会填补我在气体知识方面的很多空白!
function test() {
  var dataRange = SpreadsheetApp.getActiveSheet().getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
  var data = dataRange.getValues();
  Logger.log(data)
  var array = [];  // this is useless
  for (var r=0; r<data.length; r++) {

    // create listBox widget here
    //var listBox = app.createListBox().setName('listBox'+r);   
    for (i in data[0]) {
      var cell = data[r][i];

      //add items to listBox here
      // listBox.addItem(cell);
      array.push(cell);// this is useless
    }
  }
  Logger.log(array);//useless
  return array;//useless
}