小编Ben*_*her的帖子

具有return语句JavaScript的三元运算符

如果选中下拉列表中的选项,我需要返回true或false.

这是我的代码:

var active = sort.attr('selected') ? return true : return false;
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,第一个return是意外的.

为什么?

javascript jquery ternary

46
推荐指数
4
解决办法
5万
查看次数

应用"自动"数字格式

是否可以通过GAS以编程方式应用"自动"数字格式?我的问题是,当我编写数字列时,Sheets似乎尝试应用适当的格式,但有时会出错.也就是说,特定的小整数(有时为1)将被格式化为日期.范围是用一种myRange.setValues()方法编写的,我看不出任何错误的模式,因此看不到任何方法来防止意外错误格式化.

但是,当我在工作表中选择范围并在数字格式菜单上单击"自动"时,所有都恢复正常.由于数据写入以某种方式重置格式,因此无需单击该页面即可.

尽管冗长的介绍,我的问题很简单:如何以编程方式应用"自动"数字格式.我认为这是非常基本的,特别是因为谷歌和搜索在这里没有帮助.

我目前的后备解决方案是myRange.setNumberFormat("0")用作整个范围的格式.这并不理想,因为有些数字非常大并且更容易用科学记数法阅读.该范围内还有一些文本字符串,但无论应用何种格式,这些格式都是正确的.我还希望避免迭代数据并测试值以确定最佳格式,只需在用户界面中点击几下即可.

'自动'数字格式.

google-sheets google-apps-script

6
推荐指数
2
解决办法
1442
查看次数

在数组上自定义.toString()方法

在Array原型上定义自定义.toString()方法时,如何访问调用该方法的实际数组?

这有效:

Array.prototype.toString = () => 'custom';
"" + [1,2,3]; // 'custom'
Run Code Online (Sandbox Code Playgroud)

但"这个"不起作用:

Array.prototype.toString = () => "0: " + this[0];
"" + [1,2,3]; // 0: undefined
Run Code Online (Sandbox Code Playgroud)

显然this没有引用调用.toString()的数组,但我不确定为什么并且不确定如何获取数组.

旁注 - 我知道覆盖这样的内置方法是多么糟糕.我做了很复杂(我的级别)递归函数的调试 - 代码本身并不是依靠这个功能对于任何逻辑.

更详细的背景信息是我在许多不同的地方注销一个数组,并且更改默认格式似乎比每次写一个更长的日志语句更容易.事实证明我错了,但现在只想弄清楚这个问题,因为它似乎是我应该知道的基本内容.

javascript arrays tostring

1
推荐指数
1
解决办法
270
查看次数