【问题标题】:Getting an element in an array in Google script在 Google 脚本中获取数组中的元素
【发布时间】:2018-03-04 18:06:06
【问题描述】:

我在这里的代码示例遇到了很多麻烦...我确定这是一个初学者问题,但我不知道出了什么问题...

我想对从一个范围中得到的数组中的值进行一些计算,但我无法获取数组的元素,只能获取完整的数组...

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 "test",它返回完整的数组,而不仅仅是数组的第一个值......

我被卡住了,我不知道这里出了什么问题......

感谢您的帮助!

【问题讨论】:

  • 如果test指的是完整的数组,那么尝试使用for循环遍历它。
  • 好吧,我也会遇到同样的情况,不是吗?我尝试用 myarray 做到这一点,但每次我输入 myarray[0] 或 myarray[i] 时,我都有完整的数组...

标签: javascript arrays google-apps-script


【解决方案1】:

您正在读取的范围只有一行,但它仍然返回一个二维数组,即一个数组数组。 myarray[0] 是第一个(并且仅在这种情况下)数组,您应该在这个数组中进行迭代。

你应该像这样重写你的代码:

for (var i = 0; i < myarray[0].length; i++){
  myarray[0][i] = myarray[0][i] + 10;
}

【讨论】:

    【解决方案2】:

    for (var i = 0; i &lt; my myarray.length; i++){ 出现错误。很有可能应该是myarray.length,而不是my myarray.length。

    另一方面,sh.getRange("A3:L3").getValues() 返回一个二维数组子而不是 myarray[i] = myarray[i] + 10,你应该使用类似 myarray[i][j] = myarray[i][j] + 10 的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多