javascript - 自定义函数对于某些值莫名其妙地停止工作

标签 javascript google-sheets

我定义了两个函数,sPad 和 zPad,用于在 google 电子表格中使用,分别附加 +(作为 url 的空格)和前置零,直到结果字符串达到指定长度。当我第一次定义这些函数时,它们似乎工作正常,但后来我共享了电子表格,它现在任意拒绝加载结果。这是第二次发生这种情况。再次将电子表格设为私有(private)并没有解决问题。

function sPad(string, length) {
  string = string.toString();
  if (string.length >= length) {
      return string;
  } else {
      return string + Array(length - string.length + 1).join("+");
  }
};

function zPad(number, length) {
  number = number.toString();
  if (number.length >= length) {
      return number;
  } else {
      return Array(length - number.length + 1).join("0") + number;
  }
};

https://docs.google.com/spreadsheets/d/1DQPBCOdIaU7tZz6ukb2upxqmJU9P8ag6jFU50oNftpU/edit?usp=sharing

编辑:结果是否实际加载似乎发生在抛硬币上。

最佳答案

我假设您不时收到不确定的“正在加载...”错误。似乎主要是在将开放式范围作为参数传递时观察到的,但在您的情况下,您传递的是两个单个值。

This is the best thread that I can find对于这个问题;您可能想给它加注星标,作为(某种)投票的一种方式,并且还会收到更新通知。

对公式或传递给公式的基础数据进行编辑似乎通常可以解决问题。另一种解决方法是不使用自定义函数,并使用 native 函数(这对于您的特定示例来说是可能的)或使用 Google Apps 脚本中的获取和设置(可能在 onEdit 触发器上运行)进行处理。显然,最好不必诉诸这些解决方法。

关于javascript - 自定义函数对于某些值莫名其妙地停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26020287/

相关文章:

google-sheets - 带有问号符号的COUNTIF

php - 这个 PHP 语法是什么意思?为什么这个变量是 NaN?

javascript - 为什么我的 JavaScript 对象中的属性未定义?

javascript - Uncaught ReferenceError : require is not defined React. js

google-apps-script - 根据单元格中的第一个字符隐藏 Google 电子表格中的行

excel - 计算连续单元格值并重置单元格值更改的计数

javascript - 如何使用 pivottable.js 创建固定表头

javascript - 视口(viewport) JQuery - 如果元素在视口(viewport)中,则将文档准备好

javascript - 用于清除/删除过滤器的 Google Sheets 脚本

google-sheets - 编写公式时是否有更好的 UI 扩展?