No pude encontrar ninguna documentación o preguntas sobre si es posible escribir las declaraciones de case en una declaración de cambio en una línea ni cuál es la mejor práctica y la forma de escribirlas en una línea en JavaScript.
Las preguntas más relacionadas fueron: Pregunta de CodeGrepper y Declaración de cambio para casos múltiples en JavaScript
Actualmente tengo una función con una declaración de cambio que devuelve el nombre de un producto:
function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));Solución 1
Gracias a @Ryan Wheale, @Bergi y @TJ Crowder que me ayudaron a darme cuenta de que, dado que Javascript no requiere saltos de línea, todo podría escribirse en una sola línea separada por ; y no necesito poner ningún {} alrededor de las declaraciones de devolución. Si bien el siguiente fragmento de código responde a mi pregunta, también es importante mencionar que una sola línea como esta no es del todo legible y debe evitarse.
function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));switch compacta. function returnProduct(product) { switch (product) { case 'aa': case 'AApple': return 'AApple'; case 'bb': case 'BananaBall': return 'BananaBall'; case 'ee': case 'ElephantElf': return 'ElephantElf'; default: return 'Sorry we don\'t have that yet'; } } console.log(returnProduct('aa')); console.log(returnProduct('error')); console.log(returnProduct('ee')); console.log(returnProduct('BananaBall'));Esta fue mi primera solución propuesta que resuelve mi problema, pero no la había probado lo suficiente y tenía algunos errores que la comunidad me ayudó a solucionar.
Espero que otros que hagan la misma pregunta puedan encontrar esto como una respuesta útil a la misma pregunta que yo tenía.
Parece que te has perdido la declaración de descanso. O intenta usar el diccionario
var x ='aa':'AApple','AApple':'AApple','bb':'BananaBall', 'BananaBall':'BananaBall'}; var key='aa'; var z; if(x[key] !== undefined) return x[key];