1

对象#1:

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

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

对象#2:

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

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

4

4 回答 4

5

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

allProperties.sizes[chosenProperties.size]

更新

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

var field = "foo";

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

obj.foo; // bar
于 2013-05-13T10:26:26.877 回答
1

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

allProperties.sizes[chosenProperies.size]

应该返回 X

于 2013-05-13T10:26:53.213 回答
1

allProperties.sizes[选择的Properties.size]

于 2013-05-13T10:27:03.300 回答
1
if (chosenProperties.size) {
    allProperties.sizes[chosenProperties.size]
}
于 2013-05-13T10:31:06.413 回答