我正在开始创建我的第一个 for 循环(29 次 - 0 到 28),但数字必须放在方括号中。 我最终想要构建一串 0 和 1(零和一)。 cellData 的值始终为 0(零)或 1(一)。 我想更改 cellindex 变量的第一个数字,从 0 开始,到 28 结束。 然后对第二个数字执行相同的操作(在另一个循环中)。
[0,0]; [1,0]; [2,0]; [3,0];....... [28,0]; (First column).
[0,1]; [1,1]; [2,1]; [3,1];....... [28,1]; (Second column).
其中第一个数字代表表中的行,第二个数字代表表中的列。 这个想法是行变量可以在循环中每次增加 1。
首先我需要找到一种设置变量的方法,然后将它们组合在一起以获得变量:cellindex。
除非有更好的方法来做到这一点?
无论我尝试什么,我总是收到未定义的错误或无法读取未定义的属性“未定义”、意外的 token 等...
我在下面列出了一些我构建这个的糟糕尝试(在代码中注释)。
//var row = 0;
//var column = 0;
//var cellIndex = [row,column];
//var cellIndex = [row + "," + column];
//var cellindex = "[ + row + "," + column + ]";
//var cellindex = "[ + row + ',' + column + ]";
//var cellIndex = [+row+","+column+];
//var cellIndex = [ +row+ +','+ +column+ ];
var cellIndex = [0,0];
var cellData = sheet.getCellState(cellIndex);
var celldata = "";
celldata += (cellData);
console.log('Cell Data: ' + celldata);
下面的代码可以工作,但代码量很大,必须对所有 7 列重复。
我无法弄清楚,如果没有其他人知道如何使用代码构建 cellindex 值,那么我什至无法尝试循环来缩短它。
var cellIndex = [0,0];
var cellData = sheet.getCellState(cellIndex);
var celldata = "";
celldata += (cellData);
cellIndex = [1,0];
cellData = + sheet.getCellState(cellIndex);
var celldata = celldata;
celldata += (cellData);
cellIndex = [2,0];
cellData = + sheet.getCellState(cellIndex);
var celldata = celldata;
celldata += (cellData);
cellIndex = [3,0];
cellData = + sheet.getCellState(cellIndex);
var celldata = celldata;
celldata += (cellData);
//Repeat another 25 times
console.log('Cell Data: ' + celldata);
这个问题现在有了答案,感谢卢卡斯。 我可以按照我需要的格式输出每一列的数据。例如:
1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,1,1,1
最佳答案
如果您的单元格索引从 [0,0] 到 [27,6] 也许这会有所帮助
var data ={};
for (var i=0;i<28;i++) {
for (var j=0;j<7;j++) {
var cellIndex = [i,j];
if(!data["col"+j]){
data["col"+j]=[]
}
var cellIndex = [i,j];
var cellData = sheet.getCellState(cellIndex);
data["col"+j].push(cellData)
}
}
console.log(data)
console.log(data.col1) // data.col1 will give you an array of column 1 values for further processing
console.log(data.col1.toString()) // this will give you a string you can copy from the console to paste elsewhere
如果您想将数据拆分为行或列,您只需在每次循环迭代结束时输出一个数组(或其他内容)即可
关于javascript - 为循环构建一个带有括号中数字的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57634672/