在执行破坏性权利吗?

时间:2019-05-07 23:35:37

标签: javascript html arrays object ecmascript-6

我遇到了编码方面的挑战,这肯定是对的,但是挑战要求在前进之前必须考虑某些步骤。而且我似乎跳过了从事件目标中解构值的步骤(希望说对了)

问题是要通过分解结构将预期事件参数传递给目标属性。

我的代码错误吗?

const displaySelectedUser = (event) => {
    var newcal = event.target.value;

    console.log(newcal);
    console.log((event.target.value));

    var user = getSelectedUser(newcal);

    var properties = Object.keys(user);

    console.log(properties);

    properties.forEach(prop => {
        const span = document.querySelector(`span[data-${prop}-value]`);

        if (span) {
            span.innerText = user[prop];
        }
    });
};

1 个答案:

答案 0 :(得分:3)

这没错-但您进行销毁的唯一实际机会是在这里:

var newcal = event.target.value;

执行以下操作:

var { target: { value: newcal } } = event;

由于您没有使用event的其他属性,因此可以将其移至函数声明:

const displaySelectedUser = ({ target: { value: newcal } }) => {...}

现在newcal已在您的函数中定义为event.target.value