-
Notifications
You must be signed in to change notification settings - Fork 0
/
analisis.js
61 lines (46 loc) · 1.38 KB
/
analisis.js
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
function esPar(numero) {
return (numero % 2 === 0);
}
function calcularMediaAritmetica(lista) {
const sumaLista = lista.reduce(
function(valorAcumulado = 0, nuevoElemento) {
return valorAcumulado + nuevoElemento;
}
)
const promedioLista = sumaLista / lista.length;
return promedioLista;
}
function medianaSalarios(lista) {
const mitad = parseInt(lista.length / 2);
if (esPar(lista.length)) {
const personaMitdad1 = lista[mitad - 1];
const personaMitdad2 = lista[mitad];
const mediana = calcularMediaAritmetica([personaMitdad1, personaMitdad2]);
return mediana;
} else {
const personaMitdad = lista[mitad];
return personaMitdad;
}
}
const salariosMexico = mexico.map(
function(persona) {
return persona.salary;
}
);
const salariosMexicoSorted = salariosMexico.sort(
function(salarioA, salarioB) {
return salarioA - salarioB;
}
);
const medianaGeneralMexico = medianaSalarios(salariosMexicoSorted);
const spliceStart = (salariosMexicoSorted.length * 90) / 100;
const spliceCount = salariosMexicoSorted.length - spliceStart;
const salariosMexicoTop10 = salariosMexicoSorted.splice(
spliceStart,
spliceCount
);
const medianaTop10Mexico = medianaSalarios(salariosMexicoTop10);
console.log(
medianaGeneralMexico,
medianaTop10Mexico
);