Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript—如何将元素id转换为定义的变量_Javascript - Fatal编程技术网

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回答了:)好的,很高兴你解决了它