Я создал схему 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);
}