javascript中的动态访问键

javascript中的动态访问键,javascript,reactjs,react-native,react-hooks,Javascript,Reactjs,React Native,React Hooks,我有一个嵌套对象,我想根据用户的单击从该渲染对象访问数据。 示例:在下面的对象中,我加载了带有response.pathway.question的第一个问题和带有response.pathway.answers的答案。如果用户单击“是”,则下一个键应该是response.pathway.answers.yes;如果用户单击“否”,则下一个键应该是response.pathways.answers.No简言之,用户选择的答案应该添加在最后 现在的问题是,我使用平面列表来显示返回项的答案,以及最后添

我有一个嵌套对象,我想根据用户的单击从该渲染对象访问数据。 示例:在下面的对象中,我加载了带有response.pathway.question的第一个问题和带有response.pathway.answers的答案。如果用户单击“是”,则下一个键应该是response.pathway.answers.yes;如果用户单击“否”,则下一个键应该是response.pathways.answers.No简言之,用户选择的答案应该添加在最后

现在的问题是,我使用平面列表来显示返回项的答案,以及最后添加该项的时间 对象键的给定错误。我知道它的错误,因为像这样的对象中没有键 所以我的问题是如何让这个项目动态,就像如果用户选择是,那么它应该是response.path.answers.yes,反之亦然。(注意,答案内的键可以是任何东西,而不仅仅是“是”或“否”)

}

您也可以像
obj.path.annswers[key]=“value”


您也可以像
obj.pathway.annswers[key]='value'

这样做,我不确定我是否理解这个问题,但您可能想尝试一下:因为您想访问
路径中的任何键。回答
对象,您可以使用索引而不是点符号来访问其元素

这意味着您可以通过这种方式访问路径。回答。是。
路径。回答['Yes']

现在,您只需获取用户单击的内容的有效负载即可访问它(例如)

for(let buttonElem of document.querySelectorAll('.answer button')){
buttonElem.addEventListener('click',()=>alert(buttonElem.innerHTML));
}
const数据={
途径:{
问题:"随便",,
答复:{
是的,‘某物’,
不,‘其他的东西’,
随便什么:“找点我喜欢的东西”
}
}
};
const answerDiv=document.getElementById(“答案”);
for(让document.queryselectoral的buttonElem('.answer button')){
Buttonnelem.addEventListener('单击',()=>{
answerDiv.innerHTML=data.path.answers[buttonElem.innerHTML];
});
}
是
不
随便什么

我不确定我是否理解了这个问题,但您可能想尝试一下:因为您想访问
路径中的任何键。回答
对象,您可以使用索引而不是点符号来访问其元素

这意味着您可以通过这种方式访问路径。回答。是。
路径。回答['Yes']

现在,您只需获取用户单击的内容的有效负载即可访问它(例如)

for(let buttonElem of document.querySelectorAll('.answer button')){
buttonElem.addEventListener('click',()=>alert(buttonElem.innerHTML));
}
const数据={
途径:{
问题:"随便",,
答复:{
是的,‘某物’,
不,‘其他的东西’,
随便什么:“找点我喜欢的东西”
}
}
};
const answerDiv=document.getElementById(“答案”);
for(让document.queryselectoral的buttonElem('.answer button')){
Buttonnelem.addEventListener('单击',()=>{
answerDiv.innerHTML=data.path.answers[buttonElem.innerHTML];
});
}
是
不
随便什么

在变量中获取响应,并执行如下操作
响应[“路径”][“回答”][“是”]
,您可以将键名存储在变量中并获得所需结果。假设用户选择了“是”,则存储“`var selectedOption=“是”;var res=响应.路径.回答[选择选项];有关更多参考信息,请参见在变量中获取响应,并执行以下操作:
response[“pathway”][“answer”][“Yes”]
,您可以将键名存储在变量中并获得所需结果。假设用户选择了Yes,则存储``var selectedOption=“Yes”;var res=响应.路径.回答[选择选项];更多参考请参见
{
"pathway": {
    "question ": "this is first question",
    "answers": {
        "Yes": {
            "question": "this question i want to access if user click on yes"
        },
        "No": {
            "question": "this question i want to access if user click on no"
        }
    }
}

const key = 'anything you want'
const value = 'anything you want'
.....

{
  "pathway": {
    "question ": "this is first question",
    "answers": {
         // key is dynamically
        [key]: value
    }
  }
}