Javascript 功能赢得';t通过for循环的末尾
我确信这里有一些简单的东西我遗漏了。这部分代码位于我的站点的客户端:Javascript 功能赢得';t通过for循环的末尾,javascript,arrays,loops,for-loop,google-apps-script,Javascript,Arrays,Loops,For Loop,Google Apps Script,我确信这里有一些简单的东西我遗漏了。这部分代码位于我的站点的客户端: function test(){ var insert; var insertArray = []; var arrayLength = document.getElementById("arrayLength").value; var length = parseInt(arrayLength) var o; var int; var insertID var i; for (i = 0; i<=length; i
function test(){
var insert;
var insertArray = [];
var arrayLength = document.getElementById("arrayLength").value;
var length = parseInt(arrayLength)
var o;
var int;
var insertID
var i;
for (i = 0; i<=length; i++){
int = i.toString();
insertID = "insertNumber" + int;
insert = document.getElementById(insertID).value;
insertArray.push(insert);
};
o = JSON.stringify(insertArray);
google.script.run.withSuccessHandler(successDisplay)
.mailroomDataEntry(o);
}
功能测试(){
var插入;
var insertArray=[];
var arrayLength=document.getElementById(“arrayLength”).value;
var length=parseInt(数组长度)
var o;
var-int;
插入变量
var i;
对于(i=0;i多亏了samanime,我意识到变量length
的值不正确
更改:
for (i = 0; i<=length; i++)
用于(i=0;iIs是否抛出任何控制台错误?您确定length
是您所期望的值吗?我开始说长度正是我所期望的,因为它是93,数组中当前有93项……然后我意识到对于93项,我实际上需要92作为长度值。更改:var length=parseInt(arrayLength)to var length=parseInt(arrayLength)-1,工作非常完美。非常感谢您的帮助。我确信这很简单!在变量定义下放置一个try{
,在最后}catch(e){console.log('出现错误:'+e.message)}
变量insertArray
可能不是有效的JSON。但是,知道发生了什么的唯一方法是进行一些调试。对于Chrome和Firefox,点击f12键打开浏览器控制台。元素ID是从insertNumber0还是insertNumber1开始的?可能更干净的解决方案是将For循环重写为(i=0;i
而不是从长度中减去。注意我会这么做。非常感谢!
for (i = 0; i<length; i++)