-1
在calcRoute函数中,我使用标记之间的距离填充'dis'数组,并将其传递给回调函数(参见下文)。 我应该得到一个有20个值的数组,但是当我显示它的时候,我得到了一些奇怪的东西。Javascript:push in array
for (var i = 0; i < f.legs.length; i++) {
routeSegment += 1;
summaryPanel.innerHTML += "<b>Route Segment: " + routeSegment + "</b><br />";
summaryPanel.innerHTML += f.legs[i].distance.text + "<br /><br />";
l += f.legs[i].distance.text
dis.push(l);
callback(dis);
}
function callback(result) {
// code that depends on 'result'
alert(result);
}
我的代码在jsfiddle。
这并不奇怪,你在每次迭代中运行回调函数,我想你只想在for循环结束后调用它一次 – slash197
为什么我会在值之间取得undefine? – Backhandx
因为你没有给'l'赋值,所以它以'undefined'开头。 – fuyushimoya