我有一个机器人,它可以在2d内移动,然后转向N,W,S或E。默认方向为N。
我必须创建一个函数turnLeft()
,该函数将方向向左切换,从N到W,从W到S,依此类推。我的问题是,调用该函数时,我无法更新默认方向,因此它始终返回Facing West。
非常感谢每次函数调用时如何更新方向的任何帮助或建议。
提前致谢。
let myRover ={direction: "N"}
// ======================
// ======================
function turnLeft(rover){
if (rover.direction="N"){
rover.direction= "W"
console.log("Facing West");
}
else if(rover.direction="W"){
rover.direction="S"
console.log("Facing South");
}
else if(rover.direction="S"){
rover.direction="E"
console.log("Facing East");
}
else {
rover.direction="N"
console.log("Facing North");
}
console.log("turnLeft was called!");
}
turnLeft(myRover) // output:Facing West
turnLeft(myRover) // output:Facing West
最佳答案
代码rover.direction="N"
中的错字在if条件中用rover.direction==="N"
替换。
实际上,您实际上每次都在方向上分配“ N”,而不是进行比较