如何将未指定数量的变量传递给 Google Apps 脚本自定义函数
How do I pass unspecified number of variables to Google Apps Script Custom Function
我有一个GoogleSheet。在这个sheet中,我想运行一个自定义函数来做一个复杂的计算。此计算将基于其他 sheet 选项卡中其他单元格的值。因此,我希望能够传入一些将来可能会发生变化的变量。
我注意到 SUM function 允许可选参数。可选值是“可重复的”。这是我想在自定义函数 repeatable/optional 参数中重现的行为。 SUM 函数如何允许 repeatable/optional 参数?我怎样才能在自定义函数中做同样的事情?
谢谢。
您可以使用 function rest parameter syntax:
function COMPLEXSUM(...args) {
let sum = 0
args.forEach(x => {
sum += x
})
return sum
}
或者如果您希望一些参数是必需的,另外还有一些可选参数:
function COMPLEXSUM(param1, param2, ...args) {
let sum = param1 + param2
return args.length === 0 ? sum : sum + args.reduce((pre, curr) => {
return pre + curr;
})
}
我有一个GoogleSheet。在这个sheet中,我想运行一个自定义函数来做一个复杂的计算。此计算将基于其他 sheet 选项卡中其他单元格的值。因此,我希望能够传入一些将来可能会发生变化的变量。
我注意到 SUM function 允许可选参数。可选值是“可重复的”。这是我想在自定义函数 repeatable/optional 参数中重现的行为。 SUM 函数如何允许 repeatable/optional 参数?我怎样才能在自定义函数中做同样的事情?
谢谢。
您可以使用 function rest parameter syntax:
function COMPLEXSUM(...args) {
let sum = 0
args.forEach(x => {
sum += x
})
return sum
}
或者如果您希望一些参数是必需的,另外还有一些可选参数:
function COMPLEXSUM(param1, param2, ...args) {
let sum = param1 + param2
return args.length === 0 ? sum : sum + args.reduce((pre, curr) => {
return pre + curr;
})
}