创建一个二维数组并用值填充它

问题描述 投票:0回答:1

我正在尝试创建一个二维数组。

首先,我正在创建一个空白数组

var tableautampon = new Array();
for (var l = 0; l < sheetRawLastRow-1 ; l++) {
tableautampon[l] = new Array();
}

它给了我这个结果

[ [], [], [], [], [], [], [], [], [] ]

那我想填满它

var sheetRawFifthColumn = sheetRaw.getRange(2,5,sheetRawLastRow-1,1).getValues();

for (var i = 0; i < sheetRawFifthColumn.length; i++ ) { 
tableautampon[0][i] = sheetRawFifthColumn[i]
}

我已经得到了结果

[ [ [ Wed Mar 20 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Wed Mar 20 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Wed Mar 20 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Thu Mar 21 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Thu Mar 21 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Thu Mar 21 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Fri Mar 22 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Fri Mar 22 2024 00:00:00 GMT+0100 (Central European Standard Time) ],
    [ Fri Mar 22 2024 00:00:00 GMT+0100 (Central European Standard Time) ] ],
  [],
  [],
  [],
  [],
  [],
  [],
  [],
  [] ]

我不明白为什么还有空白元素。我期望日期能够填充已经创建的空白元素。

当我尝试跳过创建空白数组的第一步时,它不起作用。

你能帮我吗?

arrays google-apps-script multidimensional-array
1个回答
0
投票

您遇到的问题源于您为 tableautampon 数组赋值的方式。 首先,您不一定需要用空数组预先创建数组。您可以在迭代数据时直接填充它。

// Get the values from the Google Sheets column
var sheetRawFifthColumn = sheetRaw.getRange(2, 5, sheetRawLastRow - 1, 1).getValues();

// Create a 2D array to store the values
var tableautampon = [];

// Iterate through the values and populate the 2D array
for (var i = 0; i < sheetRawFifthColumn.length; i++) {
    tableautampon.push([sheetRawFifthColumn[i][0]]);
}

在之前的方法中获得空白元素的原因是您正在访问 tableautampon[0][i],这意味着您只填充了 tableautampon 的第一个内部数组。其余的内部数组保持为空,因为您从未给它们分配任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.