Lisbeth Diaz
Alan Cabrera
Juan David Reyes
Lisbeth Diaz
Alan Cabrera
Juan David Reyes
Felipe Toro C
Leonardo Zacarias Maestre
Guillermo Morales Sánchez
Julian Orlando Castrillon Giraldo
Rubén Ernesto Aragón Gil
Cristian Javier Lizardìa
Jose Fabio Ortega Estrada
Alonso Chaves
Fernando Orozco Velasquez
Oscar Leandro Camacho Vasquez
Jason Steven Méndez Balambá
Josue Farley Lopez Carvajal
Alan Cabrera
Stephany Plaza
Jesús Álvarez
Angel Gabriel Villanueva Gonzales
Dania Janeth Pérez Morales
Juan David Moreno Rodriguez
Kevin Daniel Mora Gonzalez
Leopoldo Martinez
Jorge Colín
Camilo Venegas
Yonatan Carrillo
diego rivera
Brandon Lee Aguero Fernandez
Ariel Ezequiel Biazzo Genua
Ismael Cruz Procel
Jorge Luis Porras Reyes
Santiago Perozo
David Padilla
No suban las soluciones, le quitan la emocion a la vida jeje
Yo tapo una parte de la pantalla con un trapo jajaj
JAJAJAJAJAJA yo tambien lo tapo con un trapo Xd
Hola les comparto mi código, he sufrido mucho con la sintaxis de lo métodos al utilizar arrow functions. Les agradezco si me pueden recomendar literatura para terminar de entenderlo
function solution(numbers) { let suma = numbers.reduce((acumulador, item) => acumulador + item) return suma; }; const array1 = [1, 1, 1]; const array2 = [2, 4, 8]; solution(array1); console.log(suma); solution(array2); console.log(suma);
a mi también me a costado mucho en este curso por lo mismo, busque en youtube videos donde se dedican a explicar solo el tema de arrow funtions, mas que todo donde transforman funciones normales a arrow funtion.
en tu caso let suma = numbers.reduce((acumulador, item) => acumulador + item)
**Suma **= es nombre de la variable.
** numbers.reduce((acumulador, item)** = item del array que ingresas a la operacion de la funcion.
acumulador + item= operacion a realizar dentro de la fucion
Ahora recuerda que a estas funciones se le esta metiendo son Arrays la cual se le esta aplicando un metodo (map, reduce etc)y por ende es mas complejo, en el caso este :
numbers.reduce((acumulador, item)
numbers= es el nombre del array .
reduce= método aplicado al array.
(acumulador, item)= parametro que ingresan a la función, en este caso como es un .reduce se usa dos parámetros, pero en el caso de .map solo era 1 que era "item".
asi eh entendido hasta ahora, espero que te sirva
Creo que algo importante a tomar en cuenta es que hay que imaginar que alguien va a inventarse el array que va a sumar nuestra función y si tu declaras los arrays como constantes, pues ya no estarías permitiendo que el usuario determine los argumentos que recibirá la función; te comparto mi solución al problema sin declarar los arrays como constantes :D
<code>
function solution(numbers) { return numbers.reduce ((sum,element)=> sum + element,0) };
console.log(solution([1, 1, 1])); console.log(solution([2, 4, 8]));
Algo simple y legible
function solution(numbers) { return numbers.reduce( (a, b) => a + b) };
Siguiendo con tu aporte, me funcionó agregando dos (( a lado izquierdo de reduce.
function solution(numbers) { return numbers.reduce((sumaA,sumaB) => sumaA + sumaB) };
Gracias.
Recorda de inicializar el acumulador al final para que el valor sea el correcto. return numbers.reduce( (a, b) => a + b,0)
el output del ejemplo 2 deberia ser 14, no ? estas pequeñas cosas me confunden.
Yo también estoy confundido
Si tiene que devolver 14, seguro fue un error del que escribió ese output
Mi desafío
function solution(numbers) { return numbers.reduce((sum, i) => sum + i, 0)// Tu código aquí 👈 };
Esta respuesta me ayudó a entender mejor el reto, ty. c:
En el desafío 4 (taxes) me dice que mi respuesta está mal, pero la pruebo en el devtools y me da exactamente como en el ejemplo.
Este tipo de pruebas son una beta y por ende tiene errores, esperemos y se vayan corrigiendo con el pasar del tiempo. Pero si lo probaste en tu propio editor o en el navegador y te funcionó, ¡felicidades! estás aprendiendo el concepto de lo que se enseña. Saludos! :)
creo que es porque te pide que le devuelvas un valor entero, esto puedes hacerlo con el método .trunc(). Pruebalo :)
function solution(numbers) { return numbers.reduce((prev, curr) => prev + curr, 0); //👈 };
Me falto el valor inicial, corregido XD
export function calcSum(numbers) { return numbers.reduce((a, b) => a + b, 0) }
Yo para no ver las respuestas pon esta sección en preguntas.. Aquí mi solución:
function solution(array){ return array.reduce((sum, item) => sum + item, 0); };
function calcSum(array) { return array.reduce((sum, element) => sum + element, 0) } calcSum([1, 1, 1]); calcSum([2, 4, 8]); calcSum([]);
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let valor = numbers.reduce((sum, item) => sum + item, 0) console.log(valor)
😌
Solucion al reto
export function calcSum(numbers) { // Tu código aquí 👈 if (numbers.length < 1) { return 0 } else { return numbers.reduce((a, b) => { return a + b }) } }
Esta es otra manea que clases anteirores habia investigado para entenderel metodo reduce, y que en mi opinion personal, me parece mas intuitiva.
< function solution(numbers) { return numbers.reduce((acc, item) => acc = acc + item); }; >
Donde, reduce recibe dos parametros, un valor que se estará acumulando, y el item que estará recibiendo del array;
entonces, el valor acumulador en el primer ciclo es igual a su mismo valor mas el item que se esta iterando en ese ciclo, entonces regresa el valor de acc.
Ahora acc es igual al mismo valor que ya tiene (del ciclo anterior) y es igual a su mismo valor mas el item que esta recibiendo en ese cicilo.
espero les ayude de algo.
export function calcSum(numbers) { const rta = numbers.reduce((acum, item) => acum + item, 0) //console.log(rta) return rta }
creo que la guia esta mal explicada en el ejemplo 2 lo cual me confundio Input: [2, 4, 8] Output: [2, 4, 8]
El ejemplo esta mal compañero.
Hola, no creen que el ejericio esta mal explicado?
Si se agrega un array con diferentes valores de esta manera: Input: [2, 4, 8], la respuesta es esta: Output: [2, 4, 8] es decir: No se suman, ya que no son del mismo valor.
Si se agregan asi: [1,1,2,2,] o asi [1,1,1,] = La suma deberia ser: 1+1, 2+2, 2 + 4 = 6. o 1+1+1, se suman pues son del mismo valor.
Hasta ahora, la conclusion es que siempre y cuando un numero se repite 2 veces o mas, entra en el conjunto de los numeros que puedes estar en la suma total de ellos.
Ahora bien: 3. Con estos 2 puntos anterioremente hablados, por que se espera en el test que la suma de este array: Should return 3 with [1,2,-2,2]. Es decir, la suma seria 1+ 2+ (-2) + 2 = 3, pero la logica en este caso falla, ya que no podemos sumar el 1, pues seria una contradiccion a el punto 1) el cual declare arriba.
A su vez, este ejercicio no tendria sentido en cuestion a problema a solucionar, pues si el problema es solo sumar el total de numeros este es una contradiccion al ejemplo 2 de la guia, el cual espera que el output sea el array y no una suma de 2 + 4 + 8.
Ustedes que creen?
Creo que el ejercicio esta bien, pero te estas complicando mucho con los supuestos que ofreces.
export function calcSum(numbers) { return numbers.reduce(((total, item) => total + item),0) } const numeros = [1, 1, 1];const numeros2 = [2, 4, 8]; console.log(calcSum(numeros));console.log(calcSum(numeros2));
Mi solución:
function calcSum(numbers) { if (numbers == []) { return 0 } else { const reduction = numbers.reduce((acc, item) => { return acc + item; }, 0) return reduction } }
Mi solución :)
const rta = numbers.reduce((obj, item) => obj + item, 0) return rta