我创建了一个小代码,由于一些奇怪的原因它运行得很糟糕。
使用第一个var声明变量,但它只是让你看到它们是什么,不在那里声明。 Opt是一个包含从文件中读取的所有值的数组,alunno是一个select,而trovata是一个计数器,告诉我有多少行。
到目前为止所做的一切都运行正常,但是在while循环中,如果我有两个要加载的值,我将在select中执行添加,第一个选项被替换为第二个选项而不是发现自己:
John,Antoine在选择中,我发现:
Antoine,Antoine。
考虑到John最初添加,但是后来被最后一个值替换,这很奇怪。 这段代码出了什么问题?
var opt, elaborazione;
var alunno = document.getElementById('alunno');
var trovata = 0;
while(true)
{
opt = new Option();
elaborazione = v[count].split(";");
elaborazione = elaborazione.slice(0,2);
elaborazione = elaborazione.join(" ");
opt.text = elaborazione;
alunno.add(opt);
trovata--;
if(trovata == 0){break;}
}
更多详情:
while(!flow.AtEndOfStream)
{
var lettura = flow.ReadLine();
opts = lettura.split(';');
count++;
v[count] = lettura;
}
答案 0 :(得分:0)
您没有在循环中更改count
:
while(true)
{
opt = new Option();
elaborazione = v[count].split(";"); //The count is the same here
//...
trovata--;
if(trovata == 0){break;}
}
因此,您总是使用v
的最后一项,它总是相同的。