Vamos a trabajar el if. Recordemos que es una estructura de control que nos permite realizar una acción u otra dependiendo de una serie de condiciones.
if (condicion){
//Acciones si la condición es cierta
} else{
//Acciones si la condición es falsa
}
Vamos a realizar una serie de funciones que sólo utilizarán if
1.- Crear una función esPar que nos devuelva true si el número que le pasamos es par y false en caso contrario. Ej. esPar(7)->false esPar(100)->true
2.- Crear una función longitudPar que le pasemos una cadena y nos devuelva true si su longitud es par y false en caso contrario. Ej. longitudPar(‘hola’)->true longitudPar(‘patas’)–>false
3.- Crear una función irpf a la que le pasemos un sueldo y nos devuelva:
Si el sueldo está entre 0 y 2000 no incluído-> 0.1
Si el sueldo está entre 2000 y 5000 no incluído ->0.2
Si es mayor o igual que 5000->0.3
Ej: irpf(800)->0.1 irpf(8000)->0.3
4.- Crear una función corta a la que le pasamos dos cadenas y nos devuelve la cadena más corta. Ej. corta(‘que’,’pasa’)-> ‘corta’
5.- Crear una función descuento a la que le pasamos una categoría y un importe y nos devuelve:
Si la categoría es ‘sanitarios’ y el importe es >= 500 ->0.05
Si la categoría es ‘sanitarios’ y el importe es >= 1000 ->0.1
Si la categoría es ‘grifería’ y el importe es >= 700 ->0.05
Si la categoría es ‘grifería’ y el importe es >= 1200 ->0.1
En cualquier otro caso devuelve 0
function esPar (numero) { // Si yo tengo un if en el que una rema me devuelve true y la otra false // Esto es equivalente a devolver la condicion // return numero%2==0 if (numero % 2 === 0) { return true } else { return false } } function esParCorta (numero) { return numero % 2 == 0 } function longitudPar (cadena) { if (cadena.length % 2 === 0) { return true } else { return false } } function longitudParReciclaje (cadena) { return esPar(cadena.length) } // true si los números tienen la misma paridad y false en caso contrario function paridadIgual (num1, num2) { if (esPar(num1) == esPar(num2)) { return true } else { return false } } function paridadIgualCorta (num1, num2) { return esPar(num1) == esPar(num2) } function irpf (sueldo) { if (sueldo < 2000) { return 0.1 } else if (sueldo < 5000) { return 0.2 } else { return 0.3 } } function irpfTramos (sueldo) { const tramo1 = 0.1 const tramo2 = 0.2 const tramo3 = 0.3 if (sueldo < 2000) { return tramo1 } else if (sueldo < 5000) { return tramo2 } else { return tramo3 } } function corta (cadena1, cadena2) { if (cadena1.length < cadena2.length) { return cadena1 } else { return cadena2 } } function corta2 (cadena1, cadena2) { let corta = cadena1 if (cadena2.length < cadena1.length) { corta = cadena2 } return corta } function corta3 (cad1, cad2) { // Operador ternario, es como un if de bolsillo const corta = (cad1.length < cad2.length) ? cad1 : cad2 return corta } /* Si la categoría es ‘sanitarios’ y el importe es >= 500 ->0.05 Si la categoría es ‘sanitarios’ y el importe es >= 1000 ->0.1 Si la categoría es ‘grifería’ y el importe es >= 700 ->0.05 Si la categoría es ‘grifería’ y el importe es >= 1200 ->0.1 En cualquier otro caso devuelve 0 */ function descuento (categoria, importe) { let descuento = 0 if (categoria == 'sanitarios') { if (importe >= 1000) { descuento = 0.1 } else if (importe >= 500) { descuento = 0.05 } } if (categoria == 'griferia') { if (importe >= 1200) { descuento = 0.1 } else if (importe >= 700) { descuento = 0.05 } } return descuento } function descuento2 (categoria, importe) { let descuento = 0 if ((categoria == 'sanitarios' && importe >= 1000) || (categoria == 'griferia' && importe >= 1200)) { descuento = 0.1 } else if ((categoria == 'sanitarios' && importe >= 500) || (categoria == 'griferia' && importe >= 700)) { descuento = 0.05 } return descuento } function descuento3 (categoria, importe) { let descuento = 0 if (categoria == 'sanitario' && cantidad >= 1000) { descuento = 0.1 } else if (categoria == 'sanitario' && cantidad >= 500) { descuento = 0.05 } else if (categoria == 'griferia' && cantidad >= 1200) { descuento = 0.1 } else if (categoria == 'griferia' && cantidad >= 700) { descuento = 0.05 } return descuento }