我正在尝试使用一个函数读取外部文件,并使用for循环将其片段拆分为数组。出于某种原因,for循环只会发生一次,我无法弄清楚为什么会这样。
我尝试注释掉代码的各个部分,以查看是否有什么特别的原因引起了它,但是我似乎无法完全隔离它
function nthIndex(str, pat, n){ //just used to put string of hsl values from txt file into cArray
var L= str.length, i= -1;
while(n-- && i++<L){
i= str.indexOf(pat, i);
if (i < 0) break;
}
return i;
}
function openFile(event){
var input = event.target;
var r = new FileReader();
r.readAsText(input.files[0]);
r.onload = function(){
var text = r.result;
var n = 3;
var index1 = 0;
var index2 = nthIndex(text,",",n)
for(c=0;c<361;c++){ //WHY DOESNT THIS LOOP
var value = text.slice(index1, indexOf(",",index2));
cArray.push(value);
index1 = indexOf(",",index2);
index2 = nthIndex(text,",",n+3);
}
window.alert(cArray[0];
window.alert(cArray[360];)// just to test
draw(cArray)} // this isnt relavent
};
结果应在cArray
数组的第一个和最后一个元素中显示警报,但根本不显示。可能是什么问题?