繁体   English   中英

Javascript 对象行为不会赋值

[英]Javascript Object Behavior Won't Assign Value

试图在匿名对象上赋值,但值变成了 'Array(0)'

我尝试控制下面的值console.log(values, { state: state, values: values })

并得到了这个结果

[inpid: 'asd', inppwd: 'asd']
{state: 4, values: Array(0)}

为什么对象中的values变成Array(0)

当我console.log(values, state)我得到了这个结果

[inpid: 'asd', inppwd: 'asd']
4

这里我实现代码

function getInputsValue() {
    let state = 4;
    let values = [];

    ... some code that make `values` became `[inpid: 'asd', inppwd: 'asd']`

    return { state: state, values: values }
}

有什么解释吗?

这就是 Chrome 在控制台的值摘要中显示 0 长度数组的方式。 空数组仍然可以包含properties

您正在尝试向数组添加属性,我建议使用普通对象。 您可以像这样初始化对象:

let values = {
    inpId: '',
    inpPwd: ''
};

您可以通过这样做简单地访问这些值。

values.inpId;
values.inpPwd;

这允许您获取和设置其中的值。 除非您遍历 values 数组,否则不需要更改其余代码。

边注

如果您需要将values对象作为数组。 您可以简单地将其更改为数组并将对象添加到其中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM