gpt4 book ai didi

javascript - 谷歌应用程序脚本(自定义电子表格功能)示例中的 'input.map' 是什么?

转载 作者:行者123 更新时间:2023-12-04 01:45:09 25 4
gpt4 key购买 nike

我对来自 Google Apps Script Guide 的这个例子感到困惑.此函数迭代给定范围并对每个单元格执行计算。

function DOUBLE(input) {

if (input.map) { // Test whether input is an array.
return input.map(DOUBLE); // Recurse over array if so.
} else {
return input * 2;
}

}

我不明白的地方:

  1. 此函数中的输入 是什么对象? typeof 告诉我它是一个数字,但它不应该是一个数组吗?它毕竟是一系列值(例如 A2:B)。
  2. input 变量之后的.map 是什么?我在 reference page 中找不到它.它也没有像变量或函数那样突出显示。
  3. 我不清楚条件语句的目的。 return input.map(DOUBLE) 是否意味着“对整个数组执行在相应的 else 语句中找到的任何内容”?为什么它的结构是这样的?

非常感谢任何见解(或指向正确来源的指示)。

最佳答案

此代码是使用内省(introspection)有条件地执行代码的示例。 if (input.map) 如果输入是一个数组(并且有一个 map 函数)将返回 truthy,而在所有其他情况下将返回 falsy。

因此,此代码测试输入是否为数组,如果不是,则将其视为数字,否则将其视为数组。

可以在MDN上看到map函数的定义https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map

学习 JavaScript 的最佳书籍是“JavaScript the Good Parts”http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1?ie=UTF8&qid=1419857713&sr=8-1&keywords=javascript+the+good+parts

关于javascript - 谷歌应用程序脚本(自定义电子表格功能)示例中的 'input.map' 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com