gpt4 book ai didi

javascript - 在循环中将元素插入数组内,当我不插入一个元素时,其余所有元素都显示为 "undefined"

转载 作者:行者123 更新时间:2023-11-28 17:04:43 25 4
gpt4 key购买 nike

我有一个 for 循环和一个数组,当程序不满足特定条件时(在本例中为 i!=5),我想将新元素插入数组中。 t 推送数组中的一个元素,由于这种情况,您推送的剩余元素将显示为未定义。

function myFunction() {
var array = [];
var sh_test = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var dataRange;
for (var i = 0; i < 20; i++) {
if (i != 5)
array.push(i);
dataRange = sh_test.getRange(i + 1, 10);
dataRange.setValue(array[i]);
}
}

我期望输出

1
2
3
4
6
7
8
and so on...

但我明白了

1
2
3
4
undefined
undefined
undefined
undefined
undefined
and so on...

我没有看到什么?我该如何解决这个问题?

最佳答案

您执行dataRange.setValue(array[i]);,但是在第一个i!=5数组之后没有那么多array[i的元素] 进行定义。简而言之,i 的值随着循环的每次迭代而增加,但元素的数量却不会。您也许可以只使用数组长度来访问最后一个元素。

for (var i=0;i<20;i++)
{
if (i!=5)
array.push(i);
dataRange = sh_test.getRange(i+1,10);
dataRange.setValue(array[array.length-1]);
}

关于javascript - 在循环中将元素插入数组内,当我不插入一个元素时,其余所有元素都显示为 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com