Jquery / javascript命名的索引数组与数组关联

时间:2015-06-04 13:44:58

标签: javascript jquery arrays indexing named

我想知道是否可能(并且正确)构造与其他数组关联的命名索引数组。

,例如,

var signOptionSet = [];
signOptionSet['basic'] = ['Sign Width', 'Sign Height', 'Sign Depth', 'Base Material', 'Finish'];
signOptionSet['advanced'] = ['Area', 'Perimeter', 'Lighting'];

我如何在signOptionSet ['basic']中访问类似'Sign Height'的内容?

2 个答案:

答案 0 :(得分:3)

  

我想知道它是否可能......

是的,虽然你使用它的方式,你不会想要一个数组,你只需要一个对象({})(见下文)。

  

...(并且正确)......

有些人认为使用数组然后向其添加非索引属性是不正确的。如果你明白某些事情(例如JSON.stringify)不会看到那些非索引属性,那么在技术上没有任何错误。

  

我如何访问类似' Sign Height'在signOptionSet [' basic']?

它是您已分配给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']
};

答案 1 :(得分:0)

您可以访问'签署高度' 之类的值

alert(signOptionSet['basic'][1]) // 'Sign Height'

Fiddle