谷歌脚本,提供变量bug

时间:2016-10-19 06:25:35

标签: javascript variables google-apps-script

我在为变量设置新值时注意到了奇怪的错误。不幸的是,Value也被复制到了另一个变量中。你知道这里发生了什么吗? 以下是调试时的一些屏幕截图。一个在设置新值之前,一个在之后。您可以看到该值如何自动复制到2个不同的变量。

Image 1

Image 2

如果你想自己检查一下,这是文件:

docs.google.com/spreadsheets/d/17L7KDVteaYUuBE8v5jRRUGBBHa5_Dg6dH0eQ8oDTde4/edit?usp=sharing

先谢谢你们

1 个答案:

答案 0 :(得分:1)

这不是一个错误 将数组分配给变量是通过JavaScript和大多数其他编程语言的引用(到内存位置)来实现的 考虑这个简化的例子

a=[1];
b=a;
b[0]=2;

a现在是[2]

要分配副本,您需要创建副本,例如使用切片

c=a.slice();
c[0]=3;

a现在仍为[2]c[3]

所以试试

red = temp[i].slice();