[英]how can add new key and it's value in Javascript json variable
假设我有一个可变用户,我需要 append 一个新问题作为键,它的值是新创建的 id
用户变量
const users= {
johndoe: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"vthrdm985a262al8qx3do": "optionTwo",
"xj352vofupe1dqz9emx13r": "optionOne"
}
},
joseph: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
}
}
}
新密钥及其值以及回答问题的用户
const questionId = "thisisnewkey";
const newQuestionAnswer = "optionTwo";
const userWhoAnsweredTheQuestion = "joseph";
在附加问题及其答案之前,必须找到回答该问题的用户预期 output
const users= {
johndoe: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"vthrdm985a262al8qx3do": "optionTwo",
"xj352vofupe1dqz9emx13r": "optionOne"
}
},
joseph: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"thisisnewkey":"optionTwo"
}
}
}
您可以对 object 的动态属性使用方括号 ( []
):
users[userWhoAnsweredTheQuestion].answers[questionId] = newQuestionAnswer;
const users= { johndoe: { answers:{ "6ni6ok3ym7mf1p33lnez": "optionTwo", "vthrdm985a262al8qx3do": "optionTwo", "xj352vofupe1dqz9emx13r": "optionOne" } }, joseph: { answers:{ "6ni6ok3ym7mf1p33lnez": "optionTwo", } } } const questionId = "thisisnewkey"; const newQuestionAnswer = "optionTwo"; const userWhoAnsweredTheQuestion = "joseph"; users[userWhoAnsweredTheQuestion].answers[questionId] = newQuestionAnswer; console.log(users);
假设我有一个可变用户,我需要 append 一个新问题作为键及其对新创建的 id 的值
用户变量
const users= {
johndoe: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"vthrdm985a262al8qx3do": "optionTwo",
"xj352vofupe1dqz9emx13r": "optionOne"
}
},
joseph: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
}
}
}
新键及其值以及回答问题的用户
const questionId = "thisisnewkey";
const newQuestionAnswer = "optionTwo";
const userWhoAnsweredTheQuestion = "joseph";
在附加问题及其答案之前,必须找到回答该问题的用户预期 output
const users= {
johndoe: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"vthrdm985a262al8qx3do": "optionTwo",
"xj352vofupe1dqz9emx13r": "optionOne"
}
},
joseph: {
answers:{
"6ni6ok3ym7mf1p33lnez": "optionTwo",
"thisisnewkey":"optionTwo"
}
}
}
通过使用 ES6 代码应该是
...users,
[userWhoAnsweredTheQuestion]:{
...users[userWhoAnsweredTheQuestion],
answers: {
...users[userWhoAnsweredTheQuestion].answers,
[questionId]: answer
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.