javascript - 为什么 Logger.log 看不到第二个参数而 console.log 却看到?

标签 javascript google-apps-script google-sheets

我有一个函数,它接受两个参数并执行操作。然后我有一个我坚持的功能。 第二个函数应将参数从 range 传递到 item1() 函数。 我在 item1 处收到错误,因为它缺少第二个参数。当我尝试记录传递的参数时,奇怪的事情发生了,因为:

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 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 设计时采用一个参数

恐怕这就是 Google 编写该函数的方式。

https://developers.google.com/apps-script/reference/base/logger

选项

  • 连接字符串 - 就像 Cooper 在其他答案中所示的那样

  • 继续使用console.log

  • 使用format string Logger.log("%s %s", range[1][0], range[1][1])。或者 Logger.log(`${range[1][0]} ${range[1][1]}`)

  • 如果您不想使用 console.log,您甚至可以编写自己的函数作为 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"

关于javascript - 为什么 Logger.log 看不到第二个参数而 console.log 却看到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66665631/

相关文章:

google-apps-script - 如果存在文本,则为相邻单元格设置公式

google-sheets - 我可以在 Google 电子表格公式中定义本地值(或变量)吗?

javascript - 将 js 代码转换为 jQueryMobile 时出错

javascript - 循环生成唯一的 id javascript

javascript - Google Apps 脚本基于时间的触发器,根据电子表格中的值在自定义日期和时间触发

javascript - 获取 Google 云端硬盘文件夹中的最新文件

javascript - 在 iOS8 中使用 FileReader 最安全的方法是什么?

javascript - Emscripten - 具有纯 html5 Canvas 支持的 C++(不是 WebGL)

javascript - 通过 Object.keys 访问 Javascript/Google Apps 脚本属性 TypeError

javascript - 重新调查 "Trying to make different HTML paragraph show depending on selection"