Estoy escribiendo un programa que recorre un diccionario con una lista de las abreviaturas y salarios mínimos de cada estado, donde la abreviatura es la clave y el salario mínimo flotante es el valor. Sin embargo, se me ocurrió que mucha gente no sabría la abreviatura de su estado. ¿Hay alguna manera de tener varias claves para que el usuario pueda ingresar "Delaware" o "DE" y obtener el mismo valor de salida? Sé que podría crear otra entrada en el diccionario con el mismo valor y el nombre clave del estado, pero me interesa saber si puedo manejar la complejidad con esto.
Prácticamente todo lo que he intentado es poner comas en el lado del valor clave. Sé que poner 50 claves adicionales con los nombres de estado siempre es una posibilidad, solo me pregunto si puedo manejar la complejidad de una manera diferente.
No entiendo por qué tiene que recibir información del usuario, donde simplemente podría dar un cuadro de selección en la interfaz de usuario. De todos modos, supongo que eso no es posible en su caso. Si realmente necesita mantener todas las entradas de abreviaturas de estado posibles en un objeto (diccionario), puede mantenerlo en una matriz. Tenga en cuenta que no es una forma óptima de manejar la situación.
const obj = { abbreviations: ['DE', 'Delware', 'DRE' ], minimumWages: 10 }Entonces puedes encontrar los salarios haciendo:
const userInput = 'DE' if(obj.abbreviations.indexOf(userInput)!== -1) { return obj.minimumWages; }Puedes hacer una configuración simple que transformas en diccionario como esta
const config = { DE : {alias:['Delaware', 'DE'], //every alias minimunWage: 10 } } const dictonary = Object.entries(config).reduce((o, [k, v]) => { v.alias.forEach(a => {o[a] = v.minimunWage}) return o }, {}) console.log(dictonary['DE']) console.log(dictonary['Delaware'])