Javascript函数从数组返回固定值

Javascript function returning fixed value from array

本文关键字:返回 数组 函数 Javascript      更新时间:2023-09-26

我是一个JavaScript新手,所以我决定开发一个小应用程序,应该显示我住的地方的有轨电车的时间表,因为缺乏官方网页上的信息。

我有几个数组,其中包含线路的起始时间,并且由于到达每个站点的时间是相同的,因此我只需要将总分钟数添加到第一个小时。

有一个供用户设置小时范围的表单。因此,我的主要问题是"adder();"函数应该迭代并打印数组中的所有值。相反,它总是使用相同的索引24,所以如果返回的数组索引少于24,它就不起作用。

HTML:

& lt;input type="button" class="submit" value="Enviar" onclick="caller()"/>

JavaScript:

function cropHours(i){
        if (i.substr(0,2) >= hora1user_recortada && i.substr(0,2) <= hora2user_recortada) {
            horas.push(i);
        }
        return horas;
 }
function adder() {
    minInicio1 = horas[i].substr(0,2);
    minInicio2 = horas[i].substr(3,2);
    document.getElementById("test4").innerHTML = "---" + minInicio1+"_"+minInicio2;
    y = parseInt(total) + parseInt(minInicio2);
   document.getElementById("test5").innerHTML = "total vale "+total+"minInicio1 vale "+minInicio1+"... minInicio2 vale "+minInicio2+"...Y vale "+y;
    html += "<td>"+y+"</td>";
    document.getElementById("horario").innerHTML = html;
}

这是另一个函数的一部分:

if (platform == 1) {
    for (var j = 0; j <= indexorigen; j++) {
        total += mins1[j];
    }
    for (var j = 0; j <= indexdestino; j++) {
        total2 += mins1[j];
    }
    if (today !== "Sábado" || today !== "Domingo") {
        for each (var i in horainiciolaboral1) {
            cropHours(i);
            //adder(horainiciolaboral1);
        }
    } else {
        for each (var i in horainiciofinde1) {
            cropHours(i);
        }
    }
} else {
    for (var x = 0; x <= indexorigen; x++) {
            total += mins2[x];
        }
        for (var x = 0; x <= indexdestino; x++) {
            total2 += mins2[x];
        }
    if (today !== "Sábado" || today !== "Domingo") {
        for each (var i in horainiciolaboral2) {
            cropHours(i);
        }
    } else {
        for each (var i in horainiciofinde2) {
            cropHours(i);
        }
    }
}
/*for (var i = 0; i <= horainiciolaboral1.length; i++) {
    adder(horainiciolaboral1);
}*/
//horario = horas.slice(11);
for each (var i in horas) {
    adder();
}
document.getElementById("test6").innerHTML = horas;
document.getElementById("test3").innerHTML = total + "----" + total2;
// ******************************************
// ** FUNCTION WHICH CALLS EVERY FUNCTION  **
// ******************************************
// STARTS
function caller() {
cleaner();
retrieve_origen(); 
retrieve_destino(); 
getIndex(); 
sumMinutes(); 
getHours();
}

这就是问题所在:对于每个(var I in horas) {加法器();}

提前感谢。

i传递给adder()作为参数:

adder(i);

…并将其定义为函数中的参数:

function adder( i ) {
   //...