-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path20-reduce.js
More file actions
70 lines (51 loc) · 1.34 KB
/
20-reduce.js
File metadata and controls
70 lines (51 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
var ivan = {
nombre: 'Ivan',
apellido: 'Espadas',
altura: 1.82,
cantidadLibros: 500
}
var martin = {
nombre: 'Martin',
apellido: 'Gomez',
altura: 1.85,
cantidadLibros: 250
}
var vicky = {
nombre: 'Vicky',
apellido: 'Zapata',
altura: 1.56,
cantidadLibros: 300
}
var alan = {
nombre: 'Alan',
apellido: 'Perez',
altura: 1.86,
cantidadLibros: 150
}
var dario = {
nombre: 'Dario',
apellido: 'Juarez',
altura: 1.71,
cantidadLibros: 400
}
var paula = {
nombre: 'Paula',
apellido: 'Barros',
altura: 1.76,
cantidadLibros: 600
}
personas = [ivan, martin, vicky, alan, dario, paula];
//Manera 1 de contar los libros que tiene cada uno.
var acum = 0;
for (var i = 0; i < personas.length; i++){
acum += personas[i].cantidadLibros;
}
console.log(`En total todos tienen ${acum} libros`);
//Manera 2 de contar esto con reduce.
const reducer = (acum, persona) => acum + persona.cantidadLibros;
//Función desestructurada que acede al atributo cantidadLibros del objeto pasado.
const reducer2 = (acum, {cantidadLibros}) => acum + cantidadLibros;
var totalLibros = personas.reduce(reducer, 0);
var totalLibros2 = personas.reduce(reducer2, 0);
console.log(`En total tienen ${totalLibros} libros`);
console.log(`En total todos tienen ${totalLibros2} libros`)