Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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对象中的某个位置?_Javascript_Object - Fatal编程技术网

如何使用变量到达JavaScript对象中的某个位置?

如何使用变量到达JavaScript对象中的某个位置?,javascript,object,Javascript,Object,我有一个名为“winners”的JavaScript对象,如下所示: var winners = { rock: { "scissors": true, "paper": false } paper: { "rock": true, "scissors": false } scissors: { "rock": false, "paper": true

我有一个名为“winners”的JavaScript对象,如下所示:

var winners = {
    rock: {
        "scissors": true,
        "paper": false
    }
    paper: {
        "rock": true,
        "scissors": false
    }
    scissors: {
        "rock": false,
        "paper": true
    }
}
我让用户玩,也让电脑玩。所以要想知道谁赢了,我需要这样做:

var userPlay = "rock";
var cpuPlay = "paper"; //this would be a function but for now lets simply it and just set it to "paper"
var winner = winners[userPlay].cpuPlay;
因此,为了找到计算赢家的价值,我需要这样做:

var userPlay = "rock";
var cpuPlay = "paper"; //this would be a function but for now lets simply it and just set it to "paper"
var winner = winners[userPlay].cpuPlay;

但它总是返回未定义的。显然,
winners[userPlay].paper
是有效的,但是我不知道如何使用变量来达到最后的位置。我需要获取cpuPlay本身的值并使用它吗?

您的属性名存储在名为
cpuPlay
的变量中

var cpuPlay = "paper";
要访问属性,必须使用括号表示法:

var winner = winners[userPlay][cpuPlay];

这很有效,谢谢!只要它允许,我就接受。@DaneelRakow,不客气!别忘了接受答案。