我有一个机器人,它可以在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”,而不是进行比较

07-28 05:40