arr
的值作为带有单元格输入的数组。例如,在单元格中,“dog,cat”和log arr
值在Logs中是[dog,cat]。
但是在我创建这个数组之后,我想在它上面做一个循环。而且我在Logs中,arr
未定义。有人可以帮帮我吗?我工作了2天:(
这是我的代码:
function animal (s,z){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var range = sheet.getRange("SM");
var columnNumber = getColumnNumberOfSM(s);
var rowNumber = getRowNumberOfSM(z);
var colAction = columnNumber + 1;
var action = sheet.getRange(rowNumber, colAction, 1, 1).getValues();
var bar = action.toString();
var arr = [{}];
arr = bar.split(", ");
//return arr; // returns an array [dog, cat]
var foo = arr; // underfined
for (var i = 0; i <= foo.length; ++i) {
if (foo[i] == "dog") {
Logger.log(upload());
}
}
}
现在我编辑我的代码并且工作正常,但只有“狗”而不是“猫”
function animal(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var action = sheet.getRange("C3").getValue();
var bar = action.toString();
var arr = bar.split(", ");
for (var i = 0; i <= arr.length; ++i) {
if (arr[i] == "dog") { // works
Logger.log(upload());
}
if (arr[i] == "cat") { // doesn't work
Logger.log(upload());
}
}
}
答案 0 :(得分:1)
你不需要将arr作为空白启动你可以直接初始化它作为分割方法的结果,还有一点我没有得到的是为什么你需要将arr分配给foo?您可以直接遍历arr.length并执行所需的操作。
这是我的工作片段。
var parts = path.split(",");
for (var i = 0; i < parts.length; i++) {
if (parts[i] == 'dog'){
Logger.log(parts[i]);
}
}