Pobieranie klucza JSON z wartości lub odwracanie danych JSON

Uzyskanie pojedynczego klucza z Value

Chciałbym dokonać wyboru wstecznego z następującego JSON. Chciałbym wyodrębnić skrót dla konkretnego stanu. W tej sytuacji kluczem jest skrót, a wartość, od której zaczynam, to wartość.

Z pewnością mogę przechodzić przez każdą wartość, porównując jej wartość z moją wartością, i wybierać klucz po dokonaniu dopasowania. Czy to najlepszy sposób na podejście do czegoś takiego? Czy jest jakiś lepszy sposób?

Odwracanie danych JSON

Inną opcją byłoby odwrócenie tych danych na wczesnym etapie przetwarzania, aby uzyskać podobny zestaw wartości z zamienionymi kluczami / wartościami. Byłbym zainteresowany obejrzeniem metod skutecznego działania.

var States = {AL: 'Alabama', AK: 'Alaska', AZ: 'Arizona', AR: 'Arkansas', 
              CA: 'California', CO: 'Colorado', CT: 'Connecticut', 
              DE: 'Delaware', DC: 'District of Columbia', FL: 'Florida', 
              GA: 'Georgia', HI: 'Hawaii', ID: 'Idaho', IL: 'Illinois', 
              IN: 'Indiana', IA: 'Iowa', KS: 'Kansas', KY: 'Kentucky', 
              LA: 'Louisiana', ME: 'Maine', MD: 'Maryland', MA: 'Massachusetts', 
              MI: 'Michigan', MN: 'Minnesota', MO: 'Missouri', MT: 'Montana', 
              NE: 'Nebraska', NV: 'Nevada', NH: 'New Hampshire', 
              NJ: 'New Jersey', NM: 'New Mexico', NY: 'New York', 
              NC: 'North Carolina', ND: 'North Dakota', OH: 'Ohio', 
              OK: 'Oklahoma', OR: 'Oregon', PA: 'Pennsylvania', 
              RI: 'Rhode Island', SC: 'South Carolina', 
              SD: 'South Dakota', TN: 'Tennessee', TX: 'Texas', UT: 'Utah', 
              VT: 'Vermont', VA: 'Virginia', WA: 'Washington', 
              WV: 'West Virginia', WI: 'Wisconsin', WY: 'Wyoming'};

questionAnswers(2)

yourAnswerToTheQuestion