Tengo datos de una fuente externa que usa iniciales para referirse a un tipo específico de datos
| Inicial | Valor |
|---|---|
| A | attele |
| AB | Abajo |
| B | Base |
| ... | ... |
Quiero poder recuperar el valor. Como conozco el valor de cada atajo, podría hacer algo así:
function getValue(initial) { if(initial == "A") return "Attelé"; else if(initial == "AB") return "Abajour"; else if(initial == "B") return "Base"; }Pero esta no es una buena práctica ya que tendré que agregar una nueva comparación para cada inicial.
Así que estoy pensando en usar dos matrices como referencias:
var values = ["Attelé","Abajour","Base"]; var initialList = ["A", "AB","B"]; function getValue(initial) { var index = initialList.indexOf(initial); if(index > -1) return values[index]; else return null; } console.log(getValue("A"));Pero aquí nuevamente, creo que hay una mejor práctica. Para agregar una nueva inicial, todavía tengo que modificar dos variables, y si la longitud de mis matrices no coincide, podría tener un problema con el resultado. Me gustaría poder cambiar solo una variable.
De ahí mi pregunta: ¿Cómo puedo usar un object/array/table para que coincida con mis iniciales y cuál es la mejor práctica para mirar?
¿No puedes simplemente poner los datos en un objeto?
const names = { "a": "Attelé", "b": "Base" }y luego acceder a los datos usando
names["a"]