Skip to content

Commit 130de91

Browse files
committed
Terminado el curso, culminado taller 4 de analisis de salarios
1 parent 19c8bd9 commit 130de91

File tree

3 files changed

+170
-0
lines changed

3 files changed

+170
-0
lines changed

analisis.js

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
// Helpers
2+
const esPar = (number) => {
3+
return (number % 2 === 0);
4+
}
5+
6+
const calculateMiddleArithmetic = (list) => {
7+
const reducer = (accumulator, currentValue) => accumulator + currentValue;
8+
9+
const sumList = list.reduce(reducer);
10+
11+
const averageList1 = sumList / list.length;
12+
return averageList1;
13+
}
14+
15+
//
16+
17+
// Calculadora de Mediana
18+
const medianaSalarios = (list) => {
19+
const mitad = parseInt(list.length / 2);
20+
21+
if (esPar(list.length)) {
22+
const personMitad1 = list[mitad - 1];
23+
const personMitad2 = list[mitad];
24+
25+
const mediana = calculateMiddleArithmetic([personMitad1, personMitad2]);
26+
return mediana;
27+
28+
} else {
29+
const personMitad = list[mitad];
30+
return personMitad;
31+
}
32+
}
33+
//
34+
35+
// Mediana General
36+
37+
const salarysVen = venezuela.map(
38+
function (person) {
39+
return person.salary;
40+
}
41+
);
42+
43+
44+
const salarysVenSorted = salarysVen.sort(
45+
function (a, b) {
46+
return a - b;
47+
}
48+
);
49+
50+
// console.log(salarysVenSorted);
51+
52+
53+
54+
const medianaGeneralVen = medianaSalarios(salarysVenSorted);
55+
56+
// Mediana Top 10%
57+
const spliceStart = (salarysVenSorted.length * 90 / 100);
58+
const spliceCount = salarysVenSorted.length - spliceStart;
59+
60+
const salarios10Ven = salarysVenSorted.splice(
61+
spliceStart,
62+
spliceCount
63+
);
64+
65+
const medianaTop10Ven = medianaSalarios(salarios10Ven);
66+
67+
68+
console.log({
69+
medianaGeneralVen,
70+
medianaTop10Ven
71+
})

salarios.html

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Salarios</title>
8+
</head>
9+
<body>
10+
<header>
11+
<h1>Salarios</h1>
12+
</header>
13+
14+
<script src="./salarios.js"></script>
15+
<script src="./analisis.js"></script>
16+
</body>
17+
</html>

salarios.js

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
const venezuela = [];
2+
3+
venezuela.push({
4+
name: "Camila",
5+
salary: 500,
6+
});
7+
venezuela.push({
8+
name: "Nath",
9+
salary: 1500,
10+
});
11+
venezuela.push({
12+
name: "Luisa",
13+
salary: 1800,
14+
});
15+
venezuela.push({
16+
name: "Laura",
17+
salary: 1000,
18+
});
19+
venezuela.push({
20+
name: "Daniela",
21+
salary: 2200,
22+
});
23+
venezuela.push({
24+
name: "Esperancita",
25+
salary: 200,
26+
});
27+
venezuela.push({
28+
name: "Carla",
29+
salary: 500,
30+
});
31+
venezuela.push({
32+
name: "Antonieta",
33+
salary: 1500,
34+
});
35+
venezuela.push({
36+
name: "Alicia",
37+
salary: 1300,
38+
});
39+
venezuela.push({
40+
name: "Ana",
41+
salary: 2400,
42+
});
43+
venezuela.push({
44+
name: "Julia",
45+
salary: 3400,
46+
});
47+
venezuela.push({
48+
name: "Rosa",
49+
salary: 400,
50+
});
51+
venezuela.push({
52+
name: "Angélica",
53+
salary: 400,
54+
});
55+
venezuela.push({
56+
name: "Tatiana",
57+
salary: 400,
58+
});
59+
venezuela.push({
60+
name: "Lorena",
61+
salary: 600,
62+
});
63+
venezuela.push({
64+
name: "Carolina",
65+
salary: 1600,
66+
});
67+
venezuela.push({
68+
name: "Fernanda",
69+
salary: 2600,
70+
});
71+
venezuela.push({
72+
name: "Nora",
73+
salary: 1000,
74+
});
75+
venezuela.push({
76+
name: "Gisselle",
77+
salary: 2000,
78+
});
79+
venezuela.push({
80+
name: "Bill Gates",
81+
salary: 100000000,
82+
});

0 commit comments

Comments
 (0)