No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Calculando la mediana en una lista par

13/27
Recursos

Aportes 3

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Utilicé el método Array.prototype.sort() para ordenar el array:

const arr = [5, 6, 2, 4, 1, 3];
function average(array) {
    return (array.reduce((acc, elem) => acc + elem, 0)) / array.length;
}
/**Mediana */
function mediana(array) {
    array.sort((a, b) => a - b);
    if (array.length % 2 !== 0) {
        return array[Math.floor(array.length / 2)];
    } else {
        let mid = array.length / 2;
        return average([array[mid - 1], array[mid]]);
    }
}

Con el método .sort()

let array = [5,10,1,15,2,13];

function esPar(array) {
    let elements = array.length % 2;
    return elements == 0;
}

function calcularMediana (array){
    array.sort((a , b) => {
    if(a > b) return 1;
    if(a < b) return -1;
    return 0;
    });
// se puede simplificar array.sort((a,b) => a - b);
    let mitad = array.length / 2;
    if (esPar(array)){
        let mediana = (array[mitad-1] + array[mitad]) / 2
        return mediana;
    } else {
        let mediana = (array[(mitad-1).toFixed(0)]);
        return mediana
    }
}

calcularMediana(array);
// 7.5

Esta vez si seguí el concejo de Juan.

////Función para hallar el Promedio
function average(array){
    console.log('Los datos que ingreso fueron: ',array)
    const suma= array.reduce((sum,item)=>item+sum,0);
    return averageResult=suma/(array.length)
}

/// Función para saber si es par o impar 
function median(array){
    const number=(array.length)%2; 
    if(number==0){
        //es par
        let iUno= Math.floor((array.length/2));
        let iDos= Math.floor((array.length/2)+1);
        let resultmedian=average([iUno,iDos]);
        console.log('El resultado de la mediana es:',resultmedian )
    }else{
        //es impar
        let iUno=Math.floor((array.length/2));
        let iDos=Math.floor((array.length/2)-1);
        let resultmedian=average([iUno,iDos]);
        console.log('El resultado de la mediana es:',resultmedian )
    }
};
median([1,2,3,4,5,6,7]);