我是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中存储任何内容,我就会得到一个错误"TypeError: Cannot set property“0.0 of undefined”"xxx“
我已经尝试了所有我能想到的创建tempArr的组合,再加上更多。
发布于 2012-11-27 08:09:38
一些比我聪明得多的人可能会帮你写得更好,但在我看来,你想要创建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中创建第一个主数组,在for中,每次循环遍历时,tempArri都被创建为一个数组,而在第二个for中,您希望将freqArr的值推入内部数组。
更新在tempArri中有一个空间,肯定会导致它无法工作。抱歉的!
https://stackoverflow.com/questions/13575077
复制相似问题