forked from juandc/platzi-curso-practico-javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmoda.js
63 lines (55 loc) · 1.94 KB
/
moda.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
62
63
let listaUsario = [];
const numeroDatos = () =>
parseInt(document.getElementById("numeroDatos").value);
const aggInput = () => {
// Eliminar todos los elementos hijos del padre;
var elemento = document.getElementById("aggInputs");
while (elemento.firstChild) {
elemento.removeChild(elemento.firstChild);
};
// Quitar respuesta
const resultado = document.getElementById("resultado");
resultado.innerText = "";
// Colocar los input
let valorNumeroDatos = numeroDatos();
for (let i = 1; i < (valorNumeroDatos + 1); i++ ) {
var direccion = `<label for="${i}">Dato ${i}: </label>
<input id="${i}" type="number"/>`;
let input1 = document.getElementById("aggInputs");
input1.insertAdjacentHTML('beforeend', direccion);
}
let button = document.getElementById("aggInputs");
button.insertAdjacentHTML('beforeend',
'<button type="button" onclick="calcularModa()">Calcular</button>');
}
const datosUsuario = () => {
let valorNumeroDatos = numeroDatos();
// Trae los datos a JS y los agrega a la lista
for (let i = 1; i < (valorNumeroDatos + 1); i++){
let id = i;
let dato = document.getElementById(id);
let valueDato = parseInt(dato.value);
listaUsario.push(valueDato);
}
}
const calcularModa = () => {
listaUsario = [];
datosUsuario();
const moda = obtenerModa(listaUsario);
const resultado = document.getElementById("resultado");
resultado.innerText = `La moda es: ${moda[0]} y se repite ${moda[1]} veces`;
}
const obtenerModa = (lista) => {
const listaCount = {};
lista.map((elemento) => {
if (listaCount[elemento]) {
listaCount[elemento] += 1;
} else {
listaCount[elemento] = 1;
}
});
const listaArray = Object.entries(listaCount).sort(
(elementoA, elementoB) => elementoA[1] - elementoB[1]);
console.log('Moda:', listaArray[listaArray.length - 1]);
return listaArray[listaArray.length - 1];
}