Lucas Frezzini
Fredy Daniel Flores Lemus
Thanks Good man!!!
Kevin Zavala
nos ahorras minutos :)
El método everyes inmutable y consiste retornar un valor lógico verdadero si todos los elementos cumplen con la condición establecida en la función (callback).
Este método recibe dos argumentos:
this en la función. Si se lo omite, será undefined. Recuerde que this en arrow functions es el objeto global.array.every(function(), thisArg)
La función, que recibe como argumento el método every, utiliza tres parámetros:
0, y así sucesivamente.array.every(function(element, index, array))
Diferencia entre la estructura for y el método every
Los métodos de arrays nos permiten realizar algoritmos con una menor cantidad de líneas que una estructura for, con un resultado igual o parecido.
Por ejemplo, hagamos un algoritmo que indique si en un array, todos los elementos son menores o iguales a 40.
Si utilizamos la estructura for, necesitaremos una variable de tipo booleana con el valor true e iterar hasta que una condición contraria al enunciado se cumpla. La palabra reservada break rompe el ciclo repetitivo.
const numbers = [1, 30, 41, 29, 10, 13] let respuesta = true for (let i=0; i < numbers.length; i++){ const element = numbers[i] if (element >= 40) { respuesta = false break } } console.log(respuesta) // false
Con el método every, solo debemos establecer la función que indique la condición a cumplir para cada elemento.
const numbers = [1, 30, 39, 29, 10, 13] const respuesta = numbers.every(item => item < 40) console.log(respuesta) // true
Contribución creada por: Andrés Guano.
Lucas Frezzini
Fredy Daniel Flores Lemus
Thanks Good man!!!
Kevin Zavala
nos ahorras minutos :)
Nicolas Reyna
Dejo mi solución. Utilicé Map para extraer las edades y luego con Every comprobé si había algún mayor a 15 años.
José Luis Encastin Flores
Me gustó tu solución Nicolás. Traté de practicar un poco y resumí un poco la respuesta de esta manera:
¡Saludos!
Christopher Andrés Guano Valencia
Lucas Frezzini
Diego Fernando Caviedes Camaho
podemos pasar un atributo en especifico ({ atributo}) del array ++const reto = team.every(({age}) => age <= 15);++
Jhon Santiago
Holas!, creo que debes verificar la variable respuesta ya que te va a dar un valor indefinido
Mi solución al reto
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const underFifteen = team.every((item) => item.age <= 15); if (underFifteen) { console.log("Todos en el equipo cumplen con la edad"); } else { console.log( "Hay personas que no cumplen la edad permitida para pertenecer al equipo" ); }
Remix Zapata
Mi solución:
Gustavo Chura
José Hidalgo
sensual
Ramiro Aduviri
Sexy!
Dario Paladines
Alguien sabe el porque cuando pongo el condicional directamente , me di cuenta que solo hace la comprobación en el primer objeto, y los otros objetos no los toma en cuenta
Raycris Maldonado
Hola Dario, recuerda que éste método al igual que some, evalúa las condiciones hasta que encuentra la primera que no se comple. por ejemplo en tu caso, cuando encuentra la edad de Julian que es de 24, ya no se cumple la condición de que todos deben de ser menores de 20 y entonces se termina la ejecución. Saludos!
Eduardo Peña Ramos
Rodrigo Andre Gutierrez
Rodrigo Andre Gutierrez
me equivoqé en un detalle.
era: si todos son menores que 40 dará true.
Alan Cabrera
Pregunta fuera de la clase*
¿A alguien más le pasa que cuando ponen el video de la clase en pantalla completa, este hace una pequeña pausa y después se reanuda? Si es así, ¿Saben a qué se debe o cómo "solucionarlo"?, ya que a veces siento que se pausó y lo pauso y se pausa en serio jajaja. Gracias! :)
Eduardo Peña Ramos
Creí que era el único, a veces me toca recargar la página.
Gabriel Salazar
Mi solución:
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const esMenor = team.every(persona => persona.age <= 15) console.log(esMenor ? "Todos los miembros cumplen con el requerimiento de edad." : "No todos los miembros cumplen con el requerimiento de edad.");
Melisa Barrera
Cristian Camilo Cortes Ortiz
MATEO FLOREZ ARROYO
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 19, }, ]; const equipo = team.every(item => item.age < 15); console.log(equipo ? 'Equipo Admitido' : 'No admitido')
Marcos Edwin Day
Dejo mi solución:
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const evaluation = (team) => { if (team.every(item => item.age < 15)){ return "Todos son menores a 15 años" } else { return "Algunos son mayores de 15 años" } } console.log(evaluation(team));
Jesús Álvarez
Mi aporte
Christopher David Erazo Herrera
Hola les comparto mi solucion al reto:
Pablo Herrero
Aquí dejo la respuesta combinándolo con map:
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const underage = team .map(person => person.age) .every(age => age <= 15) console.log(underage)
Jefred Bedoya
El método every evalúa si todos los elementos de un array cumplen una condición. Retorna true solo si cada elemento pasa la prueba; de lo contrario, devuelve false al instante.
Su mayor virtud es el cortocircuito: se detiene en el primer fallo, ahorrando ciclos de procesamiento. Es la herramienta definitiva para validaciones donde un solo error invalida todo el conjunto.
Andrés Malagueño
const players = [ { name: "Player 1", age: 12 }, { name: "Player 2", age: 14 }, { name: "Player 3", age: 11 }, { name: "Player 4", age: 15 }, ]; const allPlayersAreAdults = players.every(player => player.age <= 15); if (allPlayersAreAdults) { console.log("Todos los jugadores son menores a 15 años."); }else { console.log("hay jugadores mayores a 15 años."); }
Dejo el objeto para el reto de este ejercicio :)
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ];
Hola! Creo que entendieron mal como funciona every.
every también evalua cada elemento del array, la diferencia con map es que retorna un boolean y no un array.
Está bien usado el map si solo quieres extraer las edades, pero eso no era el ejercicio, y tampoco la variable edades sirve dentro de every, tienen scopes diferentes. Estas evaluando cada objeto si es menor a 15, que JavaScript dirá que es false. Lo puedes comprobar si haces
const sonMenores = team.every ( edades => console.log(edades));
Tampoco utilicen un map y luego un every porque se está redundando y creando código innecesario.
Y por último, en los if no es necesario que los compares con otro boolean si lo que hace la variable es un boolean.
Una posible solución es la siguiente:
const esEquipoValido = team.every( persona => persona.age >= 15); //Con if if ( esEquipoValido ) { console.log("Equipo admitido"); } else { console.log("Equipo no admitido"); }; //Con operador ternario const mensaje = esEquipoValido ? "Equipo admitido" : "Equipo no admitido"; console.log(mensaje);
Nunca paren de aprender 💚
Resumen
.
Este método es el contrario a some(), devuelve true o false sí TODOS los elementos del array cumplen la condición.
const isBelowThreshold = (currentValue) => currentValue < 40; const array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // expected output: true
Dejo también mi resolución al reto de esta clase:
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const allAreYounger = team.every(item => item.age < 18); console.log(areYoung);
Dejo mi Solución, también use al final del code un Operador condicional (ternario) para validar si daba true oh false
const team = [ { name: "Nicolas", age: 12, }, { name: "Andrea", age: 8, }, { name: "Zulema", age: 2, }, { name: "Santiago", age: 18, }, ]; const teamMenor = team .map(key => key.age) .every(age => age <= 15) teamMenor ? 'El equipo puede participar ya que sus jugadores tiene menor oh igual a 15 años cumple con el requisito' : 'El equipo no puede participar ya que uno o mas de sus jugadores no cumple con el requisito de tener menor a oh igual 15 años'
Creo que el profe tuvo un pequeño error en el ejemplo de la función every, línea:
const rta2 = numbers.every(element => element <= 40);
Creo que la condición debería ser element < 40. Porque cuando todos los parámetros son 40, ambas funciones (con for y con every) dan resultados diferentes. Pongo un ejemplo:
¿Debería ser element < 40 para el caso del every, no?
Otra pregunta: ¿por qué no hay clase o archivo número 08? 🤔
si todos son 40 y nos da true, eso es lo que queremos.
el problema podría estar en el if de arriba, ahí sí que la condición debería ser:
if(element > 40)
si todos son mayores que 40 dará true y de lo contrario false.
pero si lo dejamos como estaba:
if(element >= 40)
entonces aunque fuesen todos iguales a 40 seguiría dando false.