El problema con las soluciones esperadas se puede encontrar aquí: https://www.codewars.com/kata/58287977ef8d4451f90001a0/train/javascript
He jugado con los resultados de la consola y puedo ver que cualquier cosa que configuro como mi variable en la segunda línea de código let allSame = true; es lo que devuelve el resultado final. Según entiendo, el bucle for TIENE que reproducirse y, por lo tanto, la declaración IF DEBE reproducirse, por lo que de una forma u otra las variables deben actualizarse. ¿Quizás me he perdido algo cuando se trata de variables globales/locales?
Incluya una explicación con la respuesta ya que estoy tratando de aprender. ¡Gracias!
function isSameLanguage(list) { let allSame = true; for(let i = 0; i<list.length-2; i++) if(list[i]["language"] == list[i+1]["language"]){ let allSame = true; }else{ let allSame = false; } return allSame; }function isSameLanguage(list) { var allSame = true; for(let i = 0; i<list.length-2; i++) if(list[i]["language"] == list[i+1]["language"]){ allSame = true; }else{ allSame = false; } return allSame; }Se requiere una declaración global de todas las mismas variables. si crea entre cada si la escalera se convertirá en ámbito local.