如何在JavaScript中访问参数化对象属性?

时间:2013-05-13 10:24:01

标签: javascript jquery

对象#1:

var chosenProperties = { 'size' : 'large' }

chosenProperties是用户想要从下面的对象访问的属性。此对象基于表单值创建。

对象#2:

var allProperties = { 'sizes' : { 'large' : 'x', 'small' : 'y' } }

通常情况下,我会写allProperties.sizes.large以显示x,但如果我只有x,我需要访问chosenProperties该怎么办?我确信有一些方法可以做到这一点但我没有想到。

4 个答案:

答案 0 :(得分:5)

每次属性的名称包含在另一个变量中时,您都可以使用方括号表示法来访问该属性。

allProperties.sizes[chosenProperties.size]

<强>更新

从ES2015开始,也可以在对象文字中使用方括号。

var field = "foo";

const obj = {
  [field]: "bar"
};

obj.foo; // bar

答案 1 :(得分:1)

不是100%肯定你在这里想做什么,但你知道你可以:

allProperties.sizes[chosenProperies.size]

应该返回X

答案 2 :(得分:1)

allProperties.sizes [chosenProperties.size]

答案 3 :(得分:1)

if (chosenProperties.size) {
    allProperties.sizes[chosenProperties.size]
}