我已经创建了一个json模式,它表示岛的地图以及它们之间的连接,格式如下:
MAP:{ sky: [ 'valley' ],
valley: [ 'koopa' ],
mushroom: [ 'toad' ],
toad: [ 'koopa' ],
koopa: [],
twin: [ 'valley' ],
forest: [ 'twin' ] }
我有一个职位A和一个目的地B;知道地图中始终存在路径,我需要创建一个函数来查找地图中从A到B的路径?
我的代码:
Graph.prototype.getHimHome = function (position, destination, n){
const arr = this.adjList;
let isHome = false;
let path = [destination];
while( !isHome && n>0) {
for( el in arr) { // looping through the json schemma
arr[el].forEach( element => {
if(element === path[path.length - 1])//this means we're on the path;
{
path.push(el);
} else {
path.push(el);
}
})
} ;
if(path[path.length - 1] === position){
isHome = true;
}
n--;
}
console.log(path);
}