通过动态更改的变量键访问对象键

时间:2018-09-06 17:06:04

标签: javascript arrays object vue.js

我不确定如何正确解释标题,但这是这种情况:

具有三个可用角度:前,左和右:

captures: {
  front: { img: '', correct: false },
  left: { img: '', correct: false },
  right: { img: '', correct: false }
},

我已经定义了一个名为this.currentAngle = 'front'的默认变量。

我想从 currentAngle 中的 CAPTURES 对象列表中访问一个值。

这不起作用:

this.captures.[this.currentAngle].img

在逻辑上也不是这个

this.captures.this.currentAngle.img

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

您几乎明白了,只需从第一次尝试中删除方括号前面的点即可:

const captures = {
  front: { img: 'f', correct: false },
  left: { img: 'l', correct: false },
  right: { img: 'r', correct: false }
}

let prop = 'front'

console.log(captures[prop].img)