Usando Next.js, obtengo la configuración regional actual y todas las configuraciones regionales disponibles para un menú de selección de idioma:
const {cl, al} = useContext(LangContext); // cl = "en-US" // al = ["en-US", "de-DE"]Escribí esta función para devolver el nombre completo del idioma:
const clAlias = ()=> { if (cl === "en-US") { return "English" }; if (cl === "de-DE") { return "Deutsch" }; } Ahora quiero mapear al , pero en lugar de tener ["en-US", "de-DE"] quiero tener ["English", "Deutsch"] . No solo se ve mejor, sino que también facilita que el usuario seleccione su idioma. ¿Cuál sería la mejor manera de hacerlo?
¿Qué tal un objeto?
const clAlias = { "en-US": "English", "de-DE": "Deutsch" } //... al.map(x => clAlias[x])Puede usar el método Array.from . Devuelve una nueva matriz sin cambiar al
Y no olvide agregar argumentos en clAlias() como clAlias(cl)
const al = ["en-US", "de-DE"]; const clAlias = (cl) => { if (cl === "en-US") { return "English"; } if (cl === "de-DE") { return "Deutsch"; } }; const answer = Array.from(al, (e) => clAlias(e)); console.log(answer);