For循环仅在openFile函数中运行一次

时间:2019-06-17 01:29:46

标签: javascript for-loop

我正在尝试使用一个函数读取外部文件,并使用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数组的第一个和最后一个元素中显示警报,但根本不显示。可能是什么问题?

0 个答案:

没有答案