我想知道它是否可能......
是的,尽管你使用它的方式,你不会想要一个数组,你只想要一个对象 ({})(见下文)。
...(并且正确)...
有些人会争辩说,使用数组然后向其中添加非索引属性是不正确的。 技术上没有任何问题,前提是您了解某些内容(例如 JSON.stringify)不会看到那些非索引属性。
如何在 signOptionSet['basic'] 中访问“Sign Height”之类的内容?
这是您分配给 signOptionSet['basic'] 的数组的第二个条目,即索引 1,因此:
var x = signOptionSet['basic'][1];
或
var x = signOptionSet.basic[1];
使用一个对象,并使用属性名称文字,因为这里不需要字符串,看起来像这样:
var signOptionSet = {
basic: ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'],
advanced: ['Area', 'Perimeter', 'Lighting']
};
如果您愿意,可以使用字符串:
var signOptionSet = {
"basic": ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'],
"advanced": ['Area', 'Perimeter', 'Lighting']
};
单引号和双引号在 JavaScript 中都有效(单引号不会在 JSON 中,但这不是 JSON,它是 JavaScript):
var signOptionSet = {
'basic': ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'],
'advanced': ['Area', 'Perimeter', 'Lighting']
};