这是我的代码:
var looptimesfrarray_TEST = reversegridarrayFORUNDEFINE(st_time_formated_TEST);
for (var c = 0; c < obj.length - 1; c++) {
if (looptimesfrarray_TEST[c] === undefined) {
var mycharttime = Highcharts.dateFormat('%H:%M:%P', this.value);
return timsesubstringforXaxis(mycharttime);
} else {
return timsesubstringforgrid(looptimesfrarray_TEST[c]);
}
}
我想根据if
循环中的else
/ for
返回多个结果,但我的c
在循环中没有增加,所以它每次都给我c = 0
。我尝试使用break
和continue
,但它们无效。我怎么能这样做?
答案 0 :(得分:3)
从函数返回结束该函数的执行。这意味着&#34;我有结果!我完成了!&#34;。
每当你绕过循环,你要么返回,要么你回来。
所以无论如何,当你第一次绕过循环时,函数会退出。
如果要循环遍历所有值,则需要在循环完成后返回 。通常,您希望在循环中收集变量中的数据,然后返回变量。
答案 1 :(得分:0)
@Quentin已经给出了解释,我只是展示一个代码,如何收集数组中每个元素的所有结果并从函数中返回该数组:var res = []; var looptimesfrarray_TEST = reversegridarrayFORUNDEFINE(st_time_formated_TEST); for (var c = 0; c < obj.length - 1; c++) { if (looptimesfrarray_TEST[c] === undefined) { var mycharttime = Highcharts.dateFormat('%H:%M:%P', this.value); res.push(timsesubstringforXaxis(mycharttime)); } else { res.push(timsesubstringforgrid(looptimesfrarray_TEST[c])); } } return res;