如何解决我找不到小错误:无效的速记属性初始化程序等等
我找不到我犯的一些错误,无论是标点符号还是逻辑错误。 当我必须将流动站坐标推入并将新位置更新到流动站对象中时,就会出现错误。
以下是指南和代码:我们想知道到目前为止我们的漫游车在哪里。在流动站对象上创建一个属性,该属性包含其所处位置的坐标。此属性将是一个数组,您可以将其称为travelLog。
每次移动后,将流动站先前所在的位置的坐标推入travelLog数组。在流动站完成移动之后,打印出流动站所经过的所有位置。(这最后一部分我仍然必须对其进行编码)
let myRover = {
direction: 'N',x: 0,y: 0,travelLog = [{
x: 0,y: 0
}]
}
// ======================
function turnLeft(rover) {
console.log('turnLeft was called!');
switch (rover.direction) {
case 'N':
rover.direction = 'W';
break;
case 'W':
rover.direction = 'S';
break;
case 'S':
rover.direction = 'E';
break;
case 'E':
rover.direction = 'N';
break;
}
}
function turnRight(rover) {
console.log('turnRight was called!');
switch (rover.direction) {
case 'N':
rover.direction = 'E';
break;
case 'W':
rover.direction = 'N';
break;
case 'S':
rover.direction = 'W';
break;
case 'E':
rover.direction = 'S';
break;
}
}
function moveForward(rover) {
console.log('moveForward was called');
switch (rover.direction) {
case 'N':
rover.x++;
break;
case 'W':
rover.y--;
break;
case 'S':
rover.x--;
break;
case 'E':
rover.y++;
break;
}
console.log(`The rover has position: x= ${rover.x},y= ${rover.y};`)
let newPosition = x: $ {
rover.x
},y: $ {
rover.y
};
rover.travelLog.push(newPosition);
}
function command(rover,orders) {
for (let i = 0; i < orders.length; i++) {
let order = orders[i];
switch (order) {
case 'f':
moveForward(rover,order);
break;
case 'r':
turnRight(rover,order);
break;
case 'l':
turnLeft(rover,order);
break;
}
}
}
解决方法
let myRover = {
direction: 'N',x: 0,y: 0,travelLog = [{
x: 0,y: 0
}]
应该是
let myRover = {
direction: 'N',travelLog: [{ //not = but :
x: 0,y: 0
}]
,
您在这里也有问题:
absolute
我认为,您只是在尝试创建一个新对象:
let newPosition = x: $ {
rover.x
},y: $ {
rover.y
};
我强烈建议您阅读有关“对象文字符号”和“字符串模板文字”的更多信息。您似乎以混淆编译器的方式混合了这两种语法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。