3
我得到一個語法錯誤:第22行出現意外的標識符。我一直在重複這段代碼,並且我不能爲了我的生活找出錯誤。這是確定從一個節點到另一個節點的最短路由的代碼。未捕獲的語法錯誤:意外的標識符
"use strict"
function findpath(G,si,di){
//G is an array of nodes (with id, lat, lon)
var cvi = si;
var P=[si];
var C=[0,P];
var M=[C];
var O=[];
var ctr=0;
var done = false;
var reached = false;
var best = undefined;
while(!done){
ctr++;
if(ctr > 100){
alert("Sorry, can't find the destination.");
return P;
}
for (int i=0;i<M.length;++i){
var last = M[i[1]].length;
var v = M[i[1[last]]];
//select a random neighbor...
if(v.N.length === 0){
alert("Wat?");
return [];
}
else if(v.N.length === 1){
break;
}
else if(v === di){
break;
}
else {
for (int j=0;j<v.N.length;++j){
var temp = M[i];
O.push(temp[1].push(v.N[j]));
var dist = distance(v.lat,v.lon,v.N[j].lat,v.N[j].lon);
var temp2 = O.length-1;
O[temp2[0]]+=dist;
if (v.N[j]===di){
reached = true;
if (best === undefined){
console.log("ASSIGN");
best = O[temp2];
}
else {
if (O[temp2[0]]<best[0]) {
best = O[temp2];
}
}
}
}
}
}
M = O;
var any = false;
for (int i=0;i<M.length;++i) {
if (M[i[0]]<best[0]) {
any = true;
}
}
if (!any) {
done = true;
}
}
//return the path
return best[1];
}
function distance(x1,y1,x2,y2){
return Math.sqrt(Math.pow((x2-x1),2)+Math.pow((y2-y1),2));
}
HAHAHAHAHA噢,我的上帝,我覺得是個傻瓜一樣。感謝你的快速回復。我現在會羞於羞愧。 – iwhitt567
@ user1886781:不客氣。 ;) –