Cuando usamos en el for lo siguiente:
for (let i = 0; i < datos.length && ciudadSeleccionada == ''; i++) {
if(datos[i].precio <= presupuestoDisponible){
ciudadSeleccionada = datos[i].ciudad;
}
}
ciudadSeleccionada esta recibiendo la ciudad seleccionada de datos.length o solo compara que este vacío para continuar?