微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我找不到小错误:无效的速记属性初始化程序等等

如何解决我找不到小错误:无效的速记属性初始化程序等等

我找不到我犯的一些错误,无论是标点符号还是逻辑错误。 当我必须将流动站坐标推入并将新位置更新到流动站对象中时,就会出现错误

以下是指南和代码:我们想知道到目前为止我们的漫游车在哪里。在流动站对象上创建一个属性,该属性包含其所处位置的坐标。此属性将是一个数组,您可以将其称为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 举报,一经查实,本站将立刻删除。