Tengo una función para convertir unidades a mi idioma nativo. mi funcion -
const toCorrectUnitLanguage = (unit, langLocale = 'en') => { const savedUnits = { sec: { en: 'Sec', bn: 'সেকেন্ড' }, min: { en: 'Min', bn: 'মিনিট' }, hour: { en: 'Hour', bn: 'ঘন্টা' }, } if (savedUnits[unit.toLowerCase()]) { return savedUnits[unit.toLowerCase()][langLocale]; } return unit; } console.log(toCorrectUnitLanguage('sec')) console.log(toCorrectUnitLanguage('sec', 'en')) console.log(toCorrectUnitLanguage('sec', 'bn')) Obtengo el objeto correcto cuando estoy registrando savedUnits[unit.toLowerCase()] . También obtengo el valor que quiero si savedUnits[unit.toLowerCase()]["en"]
Pero no estoy undefined cuando savedUnits[unit.toLowerCase()][langLocale]
¿Alguna sugerencia? Gracias por adelantado.
Editar: llamar a la función de esta manera -
toCorrectUnitLanguage('sec',langLocale) La versión de mi nodo es 13.14.0 . ¿Podría ser eso un problema?
Edición 2: Mi console.log
if (savedUnits[unit.toLowerCase()]) { console.log(savedUnits[unit.toLowerCase()]); //{en: 'Sec', bn: 'সেকেন্ড'} console.log(savedUnits[unit.toLowerCase()][langLocale]); //undefined return savedUnits[`${unit.toLowerCase()}`][langLocale]; }