我试图找出如何将新值附加到对象的同一属性.我有以下代码:
let xp_logs = {};
for (let i = 0; i <= rows.length; i++) {
if (rows[i]) {
if(member.roles.cache.find(r => r.id == roles.admin)) {
xp_logs[todaysDate] = {}
xp_logs[todaysDate][member[i].displayName] = {id: member[i].user.id, xp: rows[i].xp}
console.log(member.displayName) // returns multiple names, last name is Henry (from rows)
}
}
}
fs.writeFileSync("./xp_logs.json", "\n" + JSON.stringify(xp_logs, null, 2));
值[member.displayName]
每for循环更改一次,我希望每个循环在[todaysDate]
中创建一个新值,属性名为[member.displayName]
.
它当前使用行中的下一个名称替换属性名称,而不是添加新属性,并且在for循环结束时,它只保存行中的姓氏.
{
"7/21/2022": {
"Henry": {
"id": "331231456712356126",
"xp": 280
}
}
}
然而,我想让它看起来像这样:
{
"7/21/2022": {
"Sierra": {
"id": "123561241241241244",
"xp": 190
},
"Cammy": {
"id": "556574574574234234",
"xp": 600
},
"Henry": {
"id": "331231456712356126",
"xp": 280
}
}
}