javascript—如何将元素id转换为定义的变量
我有这个密码javascript—如何将元素id转换为定义的变量,javascript,Javascript,我有这个密码 var myObject = { prop1: [ 'this is prop1:', ['answer1', 'prop2'], ['answer2', 'prop3'] ], prop2: [ 'this is prop2:', ['answer1', 'prop1'], ['answer2', 'prop3'], ], prop3: [ 'this is prop3:', ['an
var myObject = {
prop1: [
'this is prop1:',
['answer1', 'prop2'],
['answer2', 'prop3']
],
prop2: [
'this is prop2:',
['answer1', 'prop1'],
['answer2', 'prop3'],
],
prop3: [
'this is prop3:',
['answer1', 'prop1'],
['answer2', 'prop2'],
]
};
现在让我们假设我做了这个变量
var myVar = myObject.prop1;
所以假设我想要console.log(myVar)代码>
它将给我数组prop1及其所有值
我想对变量myVar进行变异,并将其更改为:
myVar = myObject.prop2;
我想使用答案旁边的字符串来完成此操作
所以基本上,问题1的答案1将prop2作为字符串
我想获取该字符串并将其转换为属性prop2来调用它
我试过:
var pullProp = myObject.prop1[1][1]; // which is the string prop2
myVar = myObject.pullProp;
console.log(myVar); // i get undefined
没有在名为pullProp
的myObject上定义属性pullProp
是一个与myObject在同一范围级别定义的变量
我认为你想要实现的是:
myVar = pullProp;
你可以使用
myObject.prop1[1][1] // 'prop2'
作为关键
myVar = myObject[myObject.prop1[1][1]];
你可以找一找
属性访问器通过使用点符号或括号符号提供对对象属性的访问
语法
object.property
object["property"]
var myObject={
建议1:[“这是建议1:”,[“回答1”,“建议2”],[“回答2”,“建议3”],
prop2:['这是prop2:',['回答1','建议1'],['回答2',建议3'],
prop3:['这是prop3:',['回答1','建议1'],['回答2',建议2']]
},
myVar=myObject.prop1;
console.log(myVar);
myVar=myObject[myObject.prop1[1][1];
console.log(myVar)代码>
。作为控制台包装{max height:100%!important;top:0;}
请添加想要的结果。使用括号表示法:myVar=myObject[pullProp];对于对象属性的动态调用,它起作用了!!!非常感谢@sinisakeyeah但是pullProp=myObject.prop1[1][1]那么这不意味着pullProp将是“prop2”吗?那么,我如何获取该字符串并将其转换为属性呢?你说:“我想对变量myVar进行变异并将其更改为:myVar=myObject.prop2;”。将其添加为什么,myVar对象的属性?也许我解释错了:(抱歉,但@sinisake回答了:)好的,很高兴你解决了它