> Faqs > Solucionar un "else if" que no tiene condición final en Javascript

Solucionar un "else if" que no tiene condición final en Javascript

Tengo que calcular el promedio final en base a tres exámenes pero no consigo que la consola me devuelva ningun valor, sabes por qué? Gracias!

function finalGrade (exam1, exam2, exam3) {
	if((exam1 < 0 || exam1 > 100) || (exam2 < 0 || exam2 > 100) || (exam3 < 0 || exam3 > 100)) {
		return 'You have entered an invalid code'
	} let average = (exam1 + exam2 + exam3) / 3
	if (average < 60) {
		return 'F'
	} else if (average < 70) {
		return 'D'
	} else if (average < 80) {
		return 'C'
	} else if (average < 90) {
		return 'B'
	} else if {
		return 'A'
	}
}

Respuestas

No puedes acabar con un "else if" sin poner la condición. Si no tienes condición es simplemente un "else".

Esto está mal:

} else if {
	return 'A'
}

Tienes que cambiarlo por:

} else {
	return 'A'
}

Arreglado ese problema parece que va bien.

function finalGrade (exam1, exam2, exam3) {
	if((exam1 < 0 || exam1 > 100) || (exam2 < 0 || exam2 > 100) || (exam3 < 0 || exam3 > 100)) {
		return 'You have entered an invalid code'
	} let average = (exam1 + exam2 + exam3) / 3
	if (average < 60) {
		return 'F'
	} else if (average < 70) {
		return 'D'
	} else if (average < 80) {
		return 'C'
	} else if (average < 90) {
		return 'B'
	} else {
		return 'A'
	}
}

console.log(finalGrade(30, 40, 50)); //muestra F
Julian
1147 49 87 46