No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
10 Hrs
53 Min
48 Seg

PlatziMath: clases y métodos estáticos

21/30
Recursos

Aportes 18

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Al final respondí, pues… mete otro tag script y adjunta el file platzimath.js

Luego dije, nooo. Es muy fácil para que sea eso, y que salió.

Ya que no sé que es fácil y difícil, jaja.

En vista de los pocos comentarios, algo me hace pensar que muchos se rindieron jajajaja
Pues ya casi los alcanzo C,:

Les comparto cómo quedaría todo utilizando clases. 😄

export class PlatziMath {
    static getAverage (list) {
        let sumNumbers = 0;

        for (const NUMBER of list) {
            sumNumbers += NUMBER;
        }

        const AVERAGE = sumNumbers / list.length;

        return AVERAGE;
    }

    static isOdd = (list) => Boolean(list.length % 2);

    static isEven = (list) => !(list.length % 2);

    static calculareMedian (unorderedList) {
        const SORTED_LIST = this.sortList(unorderedList);
        const IS_ODD = this.isOdd(SORTED_LIST);
        const IS_EVEN = this.isEven(SORTED_LIST);
        let median = 0;

        if (IS_ODD) {
            const HALF_ODD = Math.floor(SORTED_LIST.length / 2);

            median = SORTED_LIST[HALF_ODD];
        }

        if (IS_EVEN) {
            const FIRST_HALF = Math.floor(SORTED_LIST.length / 2);
            const SECOND_HALF = FIRST_HALF - 1;
            const LIST_HALVES = [ SORTED_LIST[FIRST_HALF], SORTED_LIST[SECOND_HALF] ];

            median = this.getAverage(LIST_HALVES);
        }

        return median;
    }

    static sortList (unorderedList) {
        const SORTED_LIST = unorderedList.sort((a, b) => a - b);

        return SORTED_LIST;
    }

    static sortListBidimensional (unorderedList, i) {
        let sortedList = [];

        if (i === 1)
            sortedList = unorderedList.sort((a, b) => b[i] - a[i]);

        return sortedList;
    }

    static calculateMode (list) {
        const COUNTER_LIST = {};

        for (const ITEM of list) {
            (ITEM in COUNTER_LIST)
                ? COUNTER_LIST[ITEM] += 1
                : COUNTER_LIST[ITEM] = 1;
        }

        const LIST_ARRAY = Object.entries(COUNTER_LIST);
        const LAST_SORTED_LIST = LIST_ARRAY[0].length - 1;
        const SORTED_LIST = this.sortListBidimensional(LIST_ARRAY, LAST_SORTED_LIST);
        const MODE = SORTED_LIST[0][0];

        return MODE;
    }
} 

Para generar varios cursores o editores en el VSC, pulsen el click para seleccionar líneas y presionen ALT+SHIFT.

JavaScript siendo JavaScript

La primera vez que hice todo el curso me costaba entender mucha parte del código. Decidí volver a hacer todos los ejercicios de este curso con más calma y todo fluye con más claridad.
La clave es no rendirse, todos podemos!!

Definitiva mente esta clase fue la que me hizo hacer un descubrimiento inmenso, que increible

Estas clases de estadística sirvieron para poder traer “ideas abstractas” (no como decirlo exactamente xd) de las mates a un código de programación ❤️

También puede hacerse sin un HTML de por medio.
.
mathClass.js:

const MathClass = {};

MathClass.addition = (a, b) => a + b;
MathClass.substract = (a, b) => a - b;
MathClass.multiplication = (a, b) => a * b;
MathClass.division = (a, b) => a - b;

module.exports = MathClass;

test.js:

const MathClass = require("./mathClass");

console.log(MathClass.addition(1, 2));
console.log(MathClass.substract(2, 1));
console.log(MathClass.multiplication(3, 2));
console.log(MathClass.division(4, 2));

Se ejecuta:

node .\test.js

Se obtiene el output:

3
1
6
2

Los métodos estáticos son funciones asociadas a una clase en la programación orientada a objetos que no requieren una instancia de la clase para ser invocados.
.
Siguiendo el mismo ejemplo pero con clases sería:

class MathClass {
  static add(a, b) {
    return a + b;
  }
}

const result = MathClass.add(5, 3);
console.log(result);

Como se puede observar aún teniendo la clase no fue necesario crear un nueva instancia de la clase como new MathClass() para poder utilizar su método estático.

**Así puedes copiar los nombres de las funciones:
**
Con ALT se crean nuevos cursores.
y con ALt + SHIFT + flechita (derecha o izquierda) se va a seleccionar toda la palabra.

Gente hasta aqui les recomiendo que practiquen con freeCodeCamp y tambien con los ejercicios de soyHenry, no es por despreciar esta institucion(Es mas me ayudo bastante a comprender muchas cosas) pero nunca dejen de aprender, todo sirve, llevo bastante meses tratando de entender la logica de javascript y cuesta, pero no se rindan.

Para importar código JS en otro, en el HTML que hará referencia a ese otro archivo JS llamar primero al archivo JS que se quiere importar.

En mi caso:

seguimos de pies señores, 4 dias metidos de cabeza y con severo malestar y satisfaccion, vamos👹

💪💪💪💪💪💪💪💪🚀
Hola ! una consulta.. mi forma de aprender es intentar solucionar el ejercicio antes de ver la clase, yo las funciones las hice con arrow function. las meto dentro del objeto PlatziMath y hasta ahi funciona lo mas bien. Ahora cuando la quiero llamar desde salarios.js y no las reconoce, arroja que no es una función. Alguien sabe como solucionarlo? sin cambiar todas las arrow T.T
La media ponderada podría ser escrita solamente usando .reduce

https://app.codesignal.com/arcade/intro/level-1/egbueTZRRL5Mm4TXN
les recomiendo esa pagina si quieren practicar ejercicios de js

Exelente clase, hace las cosas mas simple.