首页 > 解决方案 > 如何在javascript中使用数组作为对象键?

问题描述

我想制作一个能够使用不同键获得相同结果的字典,
所以我在 javascript 中做了这样的事情:

var dictionary = {
        [CHW,CW] : {                      //CHW and CW is ref to same thing
            [FLOW,FLW,FW] : 'Result 1'    //FLOW, FLW and FW is ref to same thing(Flow)
           }
        }

上面的代码只显示了这个概念,我应该怎么做才能得到下面的预期输出?
预期输出:
dictionary.CHW.FLW   //output: 'Result 1'
dictionary.CW.FLW    //output: 'Result 1'
dictionary.CW.FLOW   //output: 'Result 1'
dictionary.ABC.EFG   //output:  undefined

我的最终目标是能够通过调用字典中的不同键来获得相同的输出。有没有可以这样做的库/逻辑?谢谢你的协助!

标签: javascriptarraysjsondictionaryobject

解决方案


普通对象无法做到这一点,地图可以:

Map 对象保存键值对并记住键的原始插入顺序。任何值(对象和原始值)都可以用作键或值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map


推荐阅读