Nos lo explican en Microsiervos:
https://www.microsiervos.com/archivo/internet/por-que-raro-css-como-funciona-resuelve-problemas.html
Nos lo explican en Microsiervos:
https://www.microsiervos.com/archivo/internet/por-que-raro-css-como-funciona-resuelve-problemas.html
const apuestas = new Promise((resolve, reject) => { let total = 0; let veces = 10000; for (let i = 0; i < veces; i++) { for (let j = 0; j < veces; j++) { total += Math.random() * 10; } } console.log(total); total = total / (veces ** 2); if (total >= 5) { let win = 'Hemos ganado'; resolve(win); } else { let loose = 'Hemos perdido'; reject(loose); } }) apuestas.then((result)=>{ console.log(result); }).catch((error)=>{ console.log(error); }) console.log("Fin programa");
Enlaces:
https://developers.google.com/web/fundamentals/primers/promises?hl=es
https://scotch.io/tutorials/javascript-promises-for-dummies
https://www.codingame.com/playgrounds/347/javascript-promises-mastering-the-asynchronous/your-first-code-with-promises
https://flaviocopes.com/javascript-promises/
https://exploringjs.com/es6/ch_promises.html#sec_examples-promises
let pagaExtra = false; // Generación de la promesa let nuevoTelefono = new Promise( function (resolve, reject) { if (pagaExtra) { var telefono = { marca: 'Samsung', color: 'black' }; resolve(telefono); // fulfilled } else { var razon = new Error('Sin paga extra'); reject(razon); // reject } } ); //Consumir la promesa let comprar=function(){ nuevoTelefono.then( //La promesa se ha cumplido function(fulfilled){ console.log(fulfilled); } ).catch( //La promesa no se ha cumplido function(error){ console.log(error); } ) } comprar();
Añadimos console.log:
let pagaExtra = true; // Generación de la promesa let nuevoTelefono = new Promise( function (resolve, reject) { if (pagaExtra) { var telefono = { marca: 'Samsung', color: 'black' }; resolve(telefono); // fulfilled } else { var razon = new Error('Sin paga extra'); reject(razon); // reject } } ); //Consumir la promesa let comprar=function(){ console.log("inicio"); nuevoTelefono.then( //La promesa se ha cumplido function(fulfilled){ console.log(fulfilled); } ).catch( //La promesa no se ha cumplido function(error){ console.log(error); } ) console.log("fin"); } comprar();
Resultado:
inicio
fin
{marca: “Samsung”, color: “black”}
Con parámetros:
let comprar = function (pagaExtra) { let nuevoTelefono = new Promise( function (resolve, reject) { if (pagaExtra) { var telefono = { marca: 'Samsung', color: 'black' }; resolve(telefono); // fulfilled } else { var razon = new Error('Sin paga extra'); reject(razon); // reject } } ); nuevoTelefono.then( //La promesa se ha cumplido function (fulfilled) { console.log(fulfilled); } ).catch( //La promesa no se ha cumplido function (error) { console.log(error); } ) } comprar(true); comprar(false);
Enlaces:
https://www.w3schools.com/jsref/jsref_find.asp
https://www.w3schools.com/jsref/jsref_findindex.asp
https://appdividend.com/2018/12/17/javascript-array-find-example-array-prototype-find-tutorial/
let num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(num.find(valor => valor > 5)); //Devuelve 6 console.log(num.findIndex(valor => valor > 5)); //Devuelve 5 let cad = "hola que tal"; console.log(cad.split(" ").find(valor => valor.length <= 3)); //Devuelve que console.log(cad.split(" ").findIndex(valor => valor.length <= 3)); //Devuelve 1 let libros = [{ titulo: "Quijote", paginas: 400 }, { titulo: "El buscón", paginas: 300 }, { titulo: "Orestiada", paginas: 200 }] console.log(libros.find(valor=>valor.paginas<250));// Devuelve {titulo: "Orestiada", paginas: 200} console.log(libros.findIndex(valor=>valor.paginas<250));// Devuelve 2 //Ejercicio: crear una función que pasándole una cadena nos devuelva la primera palabra que tenga una longitud mayor de 8 //Ejemplo: primeraLarga("hola que tal")->undefined primeraLarga("en un lugar de la mancha arquetípica y lustrosa")->arquetípica
Enlaces:
https://www.w3schools.com/jsref/jsref_indexof_array.asp
https://www.jquery-az.com/javascript-indexof-method-explained-with-6-examples-to-search-in-arrays/
console.log(num.indexOf(5)); //Devuelve 4 console.log(num.indexOf(5,7)); //Devuelve -1 //Ejercicio: Crear una función que pasándole una cadena y una palabra nos devuelva un array con las posiciones de esa palabra en la cadena y vacío si no está //Ejemplo posPalabra("la tía de la pepa va a la casa","la")->[0,3,7] porque 'la' está en la primera posición (0) de las palabras, en la 3 y en la 7
Enlaces:
https://www.w3schools.com/jsref/jsref_every.asp
https://www.w3schools.com/jsref/jsref_some.asp
https://www.geeksforgeeks.org/javascript-array-prototype-every-function/
https://mariusschulz.com/blog/the-some-and-every-array-methods-in-javascript
let todosPares=num.every((valor)=>valor%2==0); console.log(todosPares); let algunPares=num.some((valor)=>valor%2==0); console.log(algunPares); let positivos=num.every((valor)=>valor>0); console.log(positivos); //Ejercicio: crear una función que le pasemos una cadena y nos devuelva true si todas las palabras tienen una longitud mayor o igual a 3 //Ejemplo: masDeTres("hola que tal")->true masDeTres("Enun lugar de la mancha")->false //Ejercicio: crear una función que le pasemos una cadena y nos devuelva true si hay alguna palabra con una longitud mayor de 10 //Ejemplo: masDeDiez("hola que tal")->false masDeDiez("Mi tía es otorrinolaringóloga")->true
Enlaces:
https://www.w3schools.com/jsref/jsref_reduce.asp
https://medium.com/@xadrijo/un-vistazo-a-la-funci%C3%B3n-reduce-en-javascript-f4459bc4e3aa
let suma = num.reduce((total, valor, indice, array) => { console.log(indice + "|" + total); return total + valor; }); console.log(suma); let mayor = num.reduce((total, valor, indice, array) => { return total < valor ? valor : total; }); console.log(mayor); let alumnos=[ {nombre:"ana",nota:8}, {nombre:"eva",nota:3}, {nombre:"pep",nota:8}, {nombre:"ot",nota:5}, ] let suma=alumnos.reduce((total,valor)=>total+valor.nota,0); let peor=alumnos.reduce((total,valor)=>total.nota>valor.nota?valor:total); console.log(suma); console.log(peor); //Ejercicio: crear una función que le pasemos una cadena y nos devuelva la palabra más corta y si hay varias más cortas la primera alfabeticamente //Ejemplo cadCorta("en un lugar de la mancha")->"de"
Enlaces:
https://www.w3schools.com/jsref/jsref_filter.asp
https://ed.team/blog/javascript-filtrar-elementos-de-un-array-con-filter
https://alligator.io/js/filter-array-method/
Código de ejemplo:
let conA=a.filter((valor,indice,array)=>{ return valor.indexOf("a")!=-1; }) console.log(conA); let num=[1,2,3,4,5,6,7,8,9]; let impares=num.filter((valor)=>valor%2); console.log(impares); //Ejercicio: crear una función que le pasemos una cadena y un tamaño y nos devuelva una cadena eliminando las palabras de longitud menor o igual al tamaño //Ejemplo: limitar("En un lugar de la mancha",2)->"lugar mancha"
Enlaces:
https://www.w3schools.com/jsref/jsref_map.asp
https://code.tutsplus.com/es/tutorials/how-to-use-map-filter-reduce-in-javascript–cms-26209
Código de ejemplo:
let a = ["Ana", "Eva", "Pep"]; let may=a.map((valor,indice,array)=>{ return valor.toUpperCase(); }) console.log(may); let minmay=a.map((valor,indice,array)=>{ return indice%2==0?valor.toUpperCase():valor.toLowerCase(); }) console.log(minmay); //Ejercicio: crear una función a la que le pasemos una cadena y nos devuelva una cadena con las palabras en el mismo orden pero invertidas //Ejemplo: invertirPalabras("Hola que tal")->"aloH euq lat"
Nos permite recorrer los elementos de un array. Enlaces:
https://www.w3schools.com/jsref/jsref_foreach.asp
https://dmitripavlutin.com/foreach-iterate-array-javascript/
https://medium.com/front-end-weekly/3-things-you-didnt-know-about-the-foreach-loop-in-js-ff02cec465b1
Ejemplos de código:
let a = ["Ana", "Eva", "Pep"]; //foreach nos permtite recorrer todos los elementos de un array a.forEach((valor, indice, array) => { console.log(valor); console.log(indice); console.log(array); }) let b = []; a.forEach((valor, indice, array) => { b.unshift(valor); }) console.log(b); function menu(array) { let lista = "<ul>"; array.forEach((valor) => { lista += "<li>" + valor + "</li>"; }) lista += "</ul>"; return lista; } console.log(menu(a)); //Ejercicio: crear una función a la que le pasemos una cadena y nos devuelva un objeto con el número de vocales existentes. //Ejemplo: vocales("Hola que tal")->{a:2,e:1,o:1,u:1}