Javascript映射在键中有两个值

nab*_*aba 11 javascript

我的页面上有3个下拉列表,第3个下拉列表中的选项取决于前两个下拉列表中的选项.

所以我想知道是否有办法用二维密钥在javaScript中实现一个地图?喜欢<Key1, Key2> -> Value.

我认为一种简单的方法是将两个键连接成一个字符串.有什么方法更体面吗?

谢谢.

Ry-*_*Ry- 6

您可以拥有一个包含更多对象的对象:

var options = {
    'option 1': {
        'option 1.1': [
            'option 1.1.1',
            'option 1.1.2',
            'option 1.1.3',
            'option 1.1.4'
        ],
        'option 1.2': [
            'option 1.2.1',
            /* etc. */
};
Run Code Online (Sandbox Code Playgroud)

然后,您将访问第三个下拉列表的选项options[firstSelectedValue][secondSelectedValue].


编辑:这是一个演示,使用一些新功能,如果您使用Internet Explorer 8或更低版本浏览,您可能需要实现这些功能:)


Kei*_*amo 5

您可以将键设置为数组。只需创建数组,[key1, key2]; 然后将该值设置为键并将其与值关联即可。

obj[[key1,key2]] = "my value";
Run Code Online (Sandbox Code Playgroud)

这是一个jsFiddle http://jsfiddle.net/TwQLW/

  • 对象属性必须是字符串,所以传递的任何其他值都将转换为字符串。这使此答案与连接两个字符串相同,因为数组会自动以`,`连接。 (6认同)