美好的一天stackOverflow,
我在创建JSON对象时遇到了一些麻烦。我有这段代码,它应该将名称添加到名为members
的列表中,然后为每个名称添加一个属性。这是有问题的片段:
for (var i = 0; i < msg.channel.server.members.length; i++) {
savedVars.Servers[thisServerID]["Members"].push(msg.channel.server.members[i].name);
savedVars.Servers[thisServerID]["Members"][i]["Object"] = {};
};
上面的代码段完美地写出了名称列表,但没有创建"Object"
属性。也没有错误或任何迹象表明它根本处理这条线。
整体结构应如下所示:
Members: [
Member1: {
Object: {}
},
Member2: {
Object: {}
},
etc...
]
非常感谢提前。此致,
@Medallyon
答案 0 :(得分:1)
您的第一行将字符串推送到数组,然后您将其用作添加其他属性的对象,它会无声地失败,因为浏览器认为您正在访问该字符串的字符。
请使用:
savedVars.Servers[thisServerID]["Members"].push({
name: msg.channel.server.members[i].name,
object: {}
});