我在这里的代码示例中遇到了很多麻烦...我确定这是一个初学者问题,但我不知道出了什么问题......
我想用我从一个范围得到的数组中的值做一些计算,但是我无法得到数组的元素,只有完整的数组......
var myarray = sh.getRange("A3:L3").getValues();
for (var i = 0; i < my myarray.length; i++){
var test = myarray[0];
myarray[i] = myarray[i] + 10;
}
首先,是否可以在for循环中执行第二行(myarray [i] = myarray [i] + 10)?我想用这个值加10替换值。
我试过,它对我不起作用,然后给我回复NaN。
所以我做了var&#34;测试&#34;它返回完整数组,而不仅仅是数组的第一个值......
我被困住了,我不知道这里有什么问题......
感谢您的帮助!
答案 0 :(得分:3)
您正在阅读的范围只有一行,但它仍然会返回一个2D数组,即一个数组数组。
myarray[0]
是第一个(也是唯一一个)数组,你应该迭代这个数组。
您应该像这样重写代码:
for (var i = 0; i < myarray[0].length; i++){
myarray[0][i] = myarray[0][i] + 10;
}
答案 1 :(得分:2)
for (var i = 0; i < my myarray.length; i++){
出错。它很可能不是my myarray.length
而是myarray.length
。
另一方面,sh.getRange("A3:L3").getValues()
返回一个二维数组子而不是myarray[i] = myarray[i] + 10
,你应该使用像myarray[i][j] = myarray[i][j] + 10
这样的东西