A un amigo mío se le hizo la siguiente pregunta durante una entrevista en vivo y se le dio 4 minutos para responderla.
PREGUNTA: Sin abrir ningún otro navegador o usar el editor de código, analice el código a continuación y dé su veredicto si es correcto y listo, si no, depure el código y explique su respuesta.
const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; for (let i = 0; i < weekDays.length; i++){ if (i === 'Wednesday'){ console.log('Today is Wednesday, join board meeting by 10:00am'); continue; } if (i === 'Saturday'){ console.log("Today is Saturday, weekend is great!"); break; } console.log(weekDays[i]); }Simplemente tome una instrucción for ... of , porque la matriz podría tener días en diferente orden o comienzo.
Y para un código realmente bueno, tome un day de nombre semántico en lugar de i .
const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; for (const i of weekDays) { if (i === 'Wednesday') { console.log('Today is Wednesday, join board meeting by 10:00am'); continue; } if (i === 'Saturday') { console.log("Today is Saturday, weekend is great!"); break; } console.log(i); }Sé que proporcionó su propia respuesta, pero este código podría limpiarse fácilmente para reducir los errores:
for (let i = 0; i < weekDays.length; i++) { if (i === 3) { console.log('Today is Wednesday, join board meeting by 10:00am'); } else if (i === 6) { console.log("Today is Saturday, weekend is great!"); } else { console.log(weekDays[i]); } } Todavía no soy fanático de los números mágicos. Tal vez i === Day.Wednesday o weekDays[i] === Day.Wednesday dependiendo de lo que se espera que cambie.
for (let i = 0; i < weekDays.length; i++){ if (i === 3){ console.log('Today is Wednesday, join board meeting by 10:00am'); continue; } if (i === 6){ console.log("Today is Saturday, weekend is great!"); break; } console.log(weekDays[i]); }EXPLICACIÓN: Hay errores en la línea 2 => (i === 'Miércoles') y en la línea 6 => (i === 'Sábado'). El 'Miércoles' en la línea 2 debe cambiarse a 3 mientras que el 'Sábado en la línea' 6 debe cambiarse a 6.
Motivo: una matriz recorre sus valores mediante la indexación, por ejemplo, 1, 2, 3,... y no por el nombre de los valores. Entonces, la matriz, al recorrerla, no entiende 'miércoles' y 'sábado', sino su índice, que es 3 y 6 respectivamente.