Tema 2.2. Funciones de Js
Tema 2.2. Funciones de Js
Tema 2.2. Funciones de Js
2
Funciones
function mostrar(){
var mensaje=“Dentro de la función”;//variable local
console.log(mensaje);
}
mostrar();
console.log(mensaje);
Tema 2.2
Funciones
Funciones definidas por el usuario
Funciones anónimas
O funciones lamda. En las funciones por expresión el identificador no tiene sentido:
var bienvenido=function(){
console.log(“bienvenido”);
};
bienvenido(); //llama a la función
Tema 2.2
Funciones
Tipos de Funciones
Callbacks
Es una función anónima que puede pasarse como parámetro a otra función
var bienvenido= function(){
return “bienvenido”;
};
var usuario=function (callback){
console.log(callback()+”Javier”);
};
Usuario(bienvenido); //muestra Bienvenido Javier
En ocasiones, se pueden incluir en la invocación a la función los parámetros para
definir la función anónima. Pero esta notación puede ser engorrosa:
var usuario=function (callback){
console.log(callback()+”Javier”);
};
Usuario(
function(){
return “bienvenido”;
}
);
Tema 2.2
Funciones
Tipos de Funciones
Funciones autoejecutables
Son funciones que se ejecutarán tan pronto como el intérprete pase por encima
(function(){
console.log(“Bienvenido”);
})(); //OJO a cómo termina
Si la función sólo cuenta con una línea de código, no es necesario poner las llaves
//ES5 //ES6
var miFuncion = function(){ let miFuncion() => {
return ‘Hola’ return ‘Hola’
} }
Console.log(miFuncion()) Console.log(miFuncion())
Beneficios de Arrow:
• Solo una línea de código
• sin palabra clave function //ES6
• sin palabra clave return let miFuncion() => ‘Hola’;
• sin llaves {}
Console.log(miFuncion())
Tema 2.2
Funciones
Tipos de Funciones
Función Arrow
Cuando las funciones no tienen ningún parámetro, es obligatorio poner los paréntesis
let miFuncion = () => `Hola`;
console.log(miFuncion());
let numbers = [7, 6, 44, 101, 55, 60, 82, 1, 57, 6];
numbers.sort((a, b) => {
if(a == b) {
return 0;
}
if(a < b) {
return -1;
}
return 1;
});
Tema 2.2
Funciones
Más funcionalidad para las estructuras de datos
Ordenación avanzada de arrays
Otro ejemplo:
let vector= [“Casado”,”casa”,”prueba”,”zancos”,”ñanm”];
vector.sort((primera, segunda) => primera.length-segunda.length);
vector.sort((primera,segunda)=>primera.localeCompare(segunda,“es”));
Conjuntos:
let conjunto=new Set();
Conjunto.add(12).add(323).add(121).add(56).add(97);
conjunto.forEach(function (elemento){
console.log(`Elemento: ${elemento}`);
});
Tema 2.2
Funciones
Más funcionalidad para las estructuras de datos
Recorridos con forEach
Mapas:
let mapa = new Map();
mapa.set(‘a’,12).set(‘b’,323).set(‘c’,121).set(‘d’,56).set(‘e’,97);
mapa.forEach(function (valor,clave){
console.log(`Clave: ${clave} - Valor: ${valor}`);
});
let playas=[‘Hierbabuena’,’Caños’,’Zahara’,’Carmen’,’Palmar’];
let filtradas=playas.filter(elemento=>elemento.length!=6);
console.log(filtradas);
Tema 2.2
Funciones
EJERCICIOS
1. Escribe una función que, dado un array de números enteros lo ordene, pero además,
sitúe a los pares al principio del array. Ambos grupos, pares e impares, deben estar
ordenados (Ver ordenación avanzada de arrays)
2. Escribe una función que, haciendo uso de filter, genere un array a partir de los
elementos de otro array que contiene cadenas de caracteres, sin los elementos que
contengan tildes.
3. Escribe una función recursiva que indique si la palabra que le pasas como parámetro
es palíndroma (devuelve true) o no (devuelve false).
4. Juego del AHORCADO: crea un programa que, a partir de una palabra establecida por
el programador, vaya pidiendo letras al usuario. A cada pasada, debe mostrar las
letras de la palabra acertadas. Se debe usar funciones.
Tema 2.2
Funciones
EJERCICIOS
5. Juego del BINGO: crea un programa que simule el juego del Bingo. El numero de
filas
cartones que participarán serán siempre cinco. Cada cartón tendrá 8 filas y 4 columnas
columnas
con 20 números del 1 al 90 distribuidos de forma aleatoria (máximo 5 por fila). El
programa termina cuando un cartón alcanza el bingo. En ese momento se debe mostrar
en pantalla cuál de los 5 cartones es el ganador y los números que han salido para
comprobar que el bingo es correcto. Plantea el problema, analízalo con detenimiento y
diseña previamente todas las funciones que vas a necesitar para resolverlo. Luego,
implementa tu solución.