【发布时间】:2021-01-02 10:30:27
【问题描述】:
我找不到我犯的一些错误,无论是标点符号还是逻辑错误。 当我必须将流动站坐标推送并将新位置更新到我的流动站对象时,就会出现错误。
这是指南和代码:我们想知道我们的漫游车到目前为止的位置。在流动站对象上创建一个属性,其中包含其所在位置的坐标。该属性将是一个数组,您可以将其称为 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;
}
}
}
我得到的主要错误是“无效的速记属性初始化”
【问题讨论】:
-
哪一行给出了错误?
-
travelLog = [{-->travelLog: [{
标签: javascript arrays function object