繁体   English   中英

Javascript在对象内部创建动态对象并访问其属性

[英]Javascript create dynamic object inside object and access its properties

每次调用脚本时,我都会得到用户名,并将其存储在名为name的变量中

我有一个最初为null的对象,我希望根据读取的名称填充该对象。

我有这个对象

var usernames = {
    name1: {
        name: "ajey",
        room: 1,
        isStudent: true,
        isTeacher: false
    },
    name2: {
        name: "ajey-teacher",
        room: 1,
        isStudent: false,
        isTeacher: true
    },
    name3: {
        name: "batman",
        room: 2,
        isStudent: true,
        isTeacher: false
    }
};

稍后,我将在用户名对象中打印所有对象及其键和值,例如,

for(var i in usernames) {
 console.log(i.name1.name);
}

这是我正在研究的小提琴,但是我遇到了一些问题。 演示

采用

for (var i in usernames) {
    console.log(usernames[i].name);
}

DEMO

循环应为:

for (var i in usernames) {
    console.log(usernames[i].name);
}

使用for-in ,变量将设置为属性名称。 要使用动态属性名称,必须使用方括号语法。 点语法仅适用于文字属性。

您还可以使用方括号语法动态创建属性:

usernames['name'+i] = {
    name: "batman",
    room: 2,
    isStudent: true,
    isTeacher: false
};

暂无
暂无

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

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