问题
在JS中使用字典时,有时候会出现需要根据字典的键值对里存储的值反过来寻找键的操作。
以前的写法是,使用一个for循环,遍历字典中存储的值,找到相应值的对应键,不过这种操作在大量数据下效率较低
现在发现了一个新写法,直接对称赋值即可。不过这个方法有个缺点,这个值只能为符合字典键的类型规范的变量,如:String、Number,对于Array和Object不支持
解决方案
function setValue(dictionary, key, value) {
dictionary[dictionary[key] = value] = key;
}