Google脚本意外更改了我的数组中的值[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我被困在我的谷歌脚本代码的一部分,其中一个数组元素意外更改。对我来说这看起来像个错误,但是我想从这里听到,如果它确实存在,或者只是我忽略了我的编码错误。当然,我也希望在任何情况下都能提供解决方案。

这是代码的一部分。

  if (chkIn) {arr[1] = importData[i][1]+'2';
             } else {

               Logger.log((i)+'   '+importData[i][1]);
               Logger.log((i+1)+'   '+importData[i+1][1]);
               Logger.log((i+2)+'   '+importData[i+2][1]);
               Logger.log(arr[1]);

               arr[1] = importData[i][1]+'1';

               Logger.log('---------------------------------------------------');
               Logger.log((i)+'   '+importData[i][1]);
               Logger.log((i+1)+'   '+importData[i+1][1]);
               Logger.log((i+2)+'   '+importData[i+2][1]);
               Logger.log(arr[1]);
             };

(if语句在这里似乎没有关系,但是为了以防万一,我把它包括在内。)

这是输出。

2573   2017122103
2574   20171221041
2575   20171221042
20171221042
---------------------------------------------------
2573   2017122103
2574   20171221041
2575   20171221031
20171221031

我真的不知道importData[i+2][1]如何将其值改为arr[1](2575之后的数字)。

先感谢您。

javascript arrays multidimensional-array google-apps-script
1个回答
0
投票

可能这是因为在你的情况下:

arr === importData[i+2]

因此,当你改变arr[1]时,你也改变了importData[i+2][1]

© www.soinside.com 2019 - 2024. All rights reserved.