CursosEmpresasBlogLiveConfPrecios

Método reduce

Clase 13 de 30 • Taller Práctico de JavaScript: Matemáticas y Estadística Básica

Clase anteriorSiguiente clase
    Javier Armando Choque Sansuste

    Javier Armando Choque Sansuste

    student•
    hace 3 años

    Qué buena idea!. Hacer estos cursos para programar y hacer matemáticas a la vez.

    Remix Zapata

    Remix Zapata

    student•
    hace 3 años

    Ya que nos pusimos en contexto con las Arrow Functions, aquí está mi solución

    const esPar = (lista) => lista.length % 2 ? false : true;
      Luis Ángel Pérez Meléndez

      Luis Ángel Pérez Meléndez

      student•
      hace 3 años

      el digno (?) ¿cual es su funcion, podrias explicarme?

      Remix Zapata

      Remix Zapata

      student•
      hace 3 años

      Hola, he cambiado algunas cosas para mejorar su entendimiento

      code.png

      En pocas palabras:

      • El signo (' ? ') lo podrías leer como un "entonces haz esto" y
      • El signo (' : ') lo podrías leer como un "de lo contrario haz esto" o también como un "sino, haz esto".

      Te dejo por aquí la documentación de los operadores ternarios por si te surgen más dudas.

    Fernando Yutiz

    Fernando Yutiz

    student•
    hace 3 años
    math.jpg
      Aaron Santiago Loyo Zabala

      Aaron Santiago Loyo Zabala

      student•
      hace 3 años

      I 🤬 MATH

      Beder Danilo Casa Condori

      Beder Danilo Casa Condori

      student•
      hace 2 años

      jajaja

    Rubén Ernesto Aragón Gil

    Rubén Ernesto Aragón Gil

    student•
    hace 3 años
    Maria Tohabanda Duchi

    Maria Tohabanda Duchi

    student•
    hace 3 años

    A mi me gusta el método reduce :)

    LEDIER SNEIDER BUSTOS QUIPO

    LEDIER SNEIDER BUSTOS QUIPO

    student•
    hace 3 años

    Hay dias que siento que no aprendo aunque este sentado todo el dia frente al pc, como hay otros dias que siento que aprendo mucho y hoy es uno de los dias que siento que aprendi, se que son cosas sencillas pero todos iniciamos asi.

    Comparto mi codigo

    carbon (5).png

    Jordany Monegro

    Jordany Monegro

    student•
    hace 3 años

    Calcular si un numero es par en un array

    let numeros = [1,2,3,4,5,6,7,8,9,10]; let calcular = function(numeros){ for(let i = 0; i < numeros.length; i++){ if (numeros[i] % 2 == 0){ alert('El numero ' + numeros[i] + ' es par.'); } } } calcular(numeros);
      Freddy René Carías Vásquez

      Freddy René Carías Vásquez

      student•
      hace 3 años
      function parEinpar (numeros){ for(let i = 0; i < numeros.length; i++){ if (numeros[i] % 2 == 0){ console.log('El numero ' + numeros[i] + ' es par.'); }else { console.log ('El numero ' + numeros[i] + " es impar") } } } parEinpar([25,3,5,2,5,8,3,]) //es tu código (por cierto me ayudó mucho ,Gracias) y solo le agregué el else para que diga cuales son los impares y llamar la función e agregarle los numeros que queramos
    Julio Peña

    Julio Peña

    student•
    hace 3 años

    Entender el método reduce me resultó muy confuso, y aunque creo que Juan explica muy bien tuve que recurrir a tutoriales de YT para entender este concepto mejor.

    Recomiendo al 100% el video de HolaMundo para entenderlo de otra manera, además ahí puedes ver un par de ejemplos de uso en la vida real.

    Programación funcional en JavaScript, parte 3: Array Reduce

    José Miguel Guerrero Albarrán

    José Miguel Guerrero Albarrán

    student•
    hace 3 años
    Captura de Pantalla 2022-10-05 a la(s) 21.11.21.png
    Daniel Triana

    Daniel Triana

    student•
    hace 3 años

    Para saber si es par

    const isPair = arr => arr.length % 2 ? false : true; isPair(list); // Llamarlo
      Luis Ángel Pérez Meléndez

      Luis Ángel Pérez Meléndez

      student•
      hace 3 años

      los signos (?) y (:). ¿cual es su funcion?

    Mateo Arias Correa

    Mateo Arias Correa

    student•
    hace 3 años

    Este es mi aporte para hallar el promedio

    function average(array){ console.log('Los datos que ingreso fueron: ',array) const suma= array.reduce((sum,item)=>item+sum,0); averageResult=suma/(array.length) console.log('el promedio es: ',averageResult) } average([1,2,3,4,5]);
    Joaquin Federico Demarchi

    Joaquin Federico Demarchi

    student•
    hace 3 años

    Nose por que no se ejecuta el reduce dentro de una funcion, desde el depurador me sale el siguiente mensaje : "preciosDeCompra.reduce is not a function at HTMLButtonElement.calcularPromedioCompra (scripts.js:23:3" imagen

      Joaquin Federico Demarchi

      Joaquin Federico Demarchi

      student•
      hace 3 años
      Captura desde 2022-11-29 17-01-38.png
      Ivan de jesus Romero leal

      Ivan de jesus Romero leal

      student•
      hace 3 años

      Que tal amigo, creo que tienes que quitarles las llaves a la arrow funcion del reduce en la linea 21, donde estas haciendo un " {a+b} ", prueba quitandoselas

    Edwin Campero

    Edwin Campero

    student•
    hace 3 años

    No entiendo el porque en consola me aparece NaN, no veo mi error, me podrian ayudar por favor

    function calcularPromedio(lista) { function sumarTodosElementos(valorAcumulado, nuevoValor) { return valorAcumulado + nuevoValor; } const sumaLista = lista.reduce(sumarTodosElementos); let promedio = sumaLista / sumaLista.length; console.log(promedio); return promedio; }
      Kevin J. Zea Alvarado

      Kevin J. Zea Alvarado

      student•
      hace 3 años

      Hola, Edwin. 👋

      El problema está en esta línea: let promedio = sumaLista / sumaLista.length;, ya que sumaLista es una suma, un número; por lo tanto, no tiene la propiedad length. Ahí debería sustituirlo la variable lista.

      La línea debería quedar así: let promedio = sumaLista / lista.length;.

      Edwin Campero

      Edwin Campero

      student•
      hace 3 años

      Gracias eso soluciono el problema

    Santiago Quintero

    Santiago Quintero

    student•
    hace 3 años

    Me gustaría saber bien la explicación del porqué se dice que no es muy recomendable usar el reduce.

    ya van varios lugares donde escucho lo mismo, sin embargo, tambien veo otros lugares donde la usan mucho jaja

      Pedro Andrés Chaparro Quintero

      Pedro Andrés Chaparro Quintero

      student•
      hace 3 años

      Como dijo Juan en la clase, no está mal utilizar un ciclo for, ni está mal utilizar un reduce. Después de revisar esta clase y algunos foros, veo que a lo que se refieren es a que "normalmente" el método reduce suele ser más complicado de entender o leer en comparación con los otros métodos de arrays como el map, pero esto no significa que no se deba usar, de hecho es algo muy subjetivo, ya que a otras personas les puede parecer más fácil de entender / leer

      Al final depende del desarrollador, pero con lo que hay que tener cuidado es con darle usos "indebidos", como filtrar un array utilizando el reduce, ya que para eso existe otro metodo.

      Por cierto, si te gusta más utilizar el reduce en lugar de un for, tal vez te guste la Programación funcional.

      Aquí algunos de los foros que revisé:

      • Is reduce() bad?
      • 4 Reasons to Avoid Using Array.reduce
    Iván Orlando Ocampo Rivera

    Iván Orlando Ocampo Rivera

    student•
    hace 2 años

    Aquí dejo mi aporte. Me apoye en la documentación para profundizar.

    function calculateAverage(list){ let initialValue = 0; let addInitial = list.reduce((accumulator, currentValue) => accumulator + currentValue, initialValue) const average = addInitial / list.length; console.log(average); }
    Guadalupe MoralesCarmona

    Guadalupe MoralesCarmona

    student•
    hace 2 años

    Para saber si el array contiene un numero par de elementos yo lo haría así:

    const array1 = [4, 5, 1, 9]; let isPar = true; if (array1.length % 2 === 0) { isPar = true; } else { isPar = false; }
    Lucas Matias Abal

    Lucas Matias Abal

    student•
    hace 2 años

    Calcular si un numero es par en un Array

    //si es par retornar true si no retornar false let Lista = [1,2,3,4]; function esPar (Lista){ if (Lista.length % 2 === 0){ return true; }else { return false; } } console.log(esPar(Lista));
    Rubén Vega

    Rubén Vega

    student•
    hace 2 años

    Estoy escribiendo todo en ingles, ya que es el estandar. Por ejemplo para sumarTodosElementos, utilizo elementsSum. Al final coger la costumbre de escribir y leer en ingles se hace costumbre hasta el punto de que hacerlo en espanol se convierte en lo "raro"

    Jefferson Alexander Porras Coronado

    Jefferson Alexander Porras Coronado

    student•
    hace 2 años

    function siEsPar(numero) { if (numero % 2 == 0) { return true }else{ return false } }

    Nestor Rios Garcia

    Nestor Rios Garcia

    student•
    hace 3 años

    UFF

    Si hubiera visto esto en mis primeros días estudiando JS pensaría que es magia negra.

    const isEven = array => array.length % 2 == 0 ? true : false isEven(numbers)

    Al final el código quedo recortito:

    const numbers = [1, 2, 3, 4, 5] function average(array) { const sum = array.reduce((a, b) => a+ b) return sum / array.length } average(numbers) // 3

Escuelas

  • Desarrollo Web
  • English Academy
  • Marketing Digital
  • Inteligencia Artificial y Data Science
  • Ciberseguridad
  • Liderazgo y Habilidades Blandas
  • Diseño de Producto y UX
  • Contenido Audiovisual
  • Desarrollo Móvil
  • Diseño Gráfico y Arte Digital
  • Programación
  • Negocios
  • Blockchain y Web3
  • Recursos Humanos
  • Finanzas e Inversiones
  • Startups
  • Cloud Computing y DevOps

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads