在javascript中使用'Value'动态获取'Key'

Jai*_*thi 0 javascript ecmascript-6

对于Eg

 let obj = {
    key1: ["A", "B", "C"],
    key2: ["D", "E"],
    key3: ["F"]
};
Run Code Online (Sandbox Code Playgroud)

如果输入为"A",则应返回key1.尝试使用以下代码来表示不同的对象.当前情况有哪些更好的方法?`

function findKey(value) {
    var element = null;
    Object.keys(obj).forEach(function(key) {
        if (obj[key].value === value.toString()) {
            element = key;
            return;
        }
    });
    return element;
}
Run Code Online (Sandbox Code Playgroud)

`

mic*_*ckl 5

尝试使用Object.keys返回所有键的数组然后用于find获取第一个匹配元素

let input = "A";
let result = Object.keys(obj).find(key => obj[key].indexOf(input) !== -1);
Run Code Online (Sandbox Code Playgroud)