[英]Why Logger.log does not see second argument and console.log does?
我有一個 function 需要兩個 arguments 並做事。 然后我有一個我堅持的 function。 第二個 function 應該將 arguments 從range
傳遞到item1()
函數。 我在item1
處收到錯誤,因為它錯過了第二個參數。 當我試圖通過 arguments 登錄時發生了奇怪的事情,因為:
range = [[GWPA4205022, 1550.0], [CWPA8005121, 1000.0], [, ]]
Logger.log(range[1][0],range[1][1]);
日志: CWPA8005121
console.log(range[1][0],range[1][1]);
日志: CWPA8005121 1000
這兩者有什么區別? 以及如何解決? 在循環內或外部記錄會帶來相同的結果。
我的 function 看起來像這樣:
function callItem(){
const sheetName = "SHEET2";
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(sheetName);
const range = sheet.getRange(4, 2, sheet.getLastRow(),2).getValues();
Logger.log(range);
Logger.log(range[1][0],range[1][1]);
console.log(range[1][0],range[1][1]);
for(var i = 0; i < range.length; i++){
if(range[i][0] !== ""){
item1(range[i][0],range[i][1]);
}
}
}
試試Logger.log(range[1][0] + ',' + range[1][1]);
還
const range = sheet.getRange(4, 2, sheet.getLastRow()-3,2).getValues();
Logger.log
設計為采用一個參數恐怕這正是谷歌編寫 function 的方式。
https://developers.google.com/apps-script/reference/base/logger
連接字符串 - 就像庫珀在另一個答案中顯示的那樣
繼續使用console.log
使用格式字符串Logger.log("%s %s", range[1][0], range[1][1])
。 或Logger.log(`${range[1][0]} ${range[1][1]}`)
如果您不想使用console.log
,您甚至可以編寫自己的 function 作為Logger
的包裝器
function myLog(...args) {
Logger.log(args.join(", ")) // This just joins all arguments into a string separated by commas
}
let h = "hello"
let w = "world"
myLog(h, w) // "hello, world"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.