Buscar a chave de um objeto pelo valor no Javascript – jQuery.

A necessidade foi simples, tive que buscar a chave em um objeto pelo valor associado a ele.

Procurei um monte de solução e achei uma uma que se aproximava do que eu precisava. Não exatamente, mas muito próximo, então tive apenas que adaptar para meu caso.

A maneira de funcionamento é bem simples. Uma chamada a função “getKeyByValue” passando o valor e o Objeto.

O que a função faz é passar por todos os parâmetros e verificar se o valor enviado corresponde com o valor associado ao parâmetro. Achei simples e pratico.

        $(document).ready(function () {
            $jqueyVariable = {
                "key_1": "value_1",
                "key_2": "value_2",
                "key_3": "value_3"};

            var retorno = getKeyByValue("value_2", $jqueyVariable);
            console.log(retorno); //key_2
            var retorno = getKeyByValue("value_1", $jqueyVariable);
            console.log(retorno); //key_1

        });

        function getKeyByValue(value, dictionary) {
            if (dictionary !== Object(dictionary))
                throw new TypeError('Não foi enviado um Objeto');
            for (var p in dictionary) {
                if (dictionary[p] === value) {
                    return p;
                }
            }
            return null;
        }

Qualquer dúvida ou dicas, entre em contato: leandrolt@gmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *