-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