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.
Introducción
¿Ya tomaste el Curso Práctico de JavaScript?
Matemáticas en JavaScript
Fórmulas matemáticas en JavaScript
Math en JavaScript
Reto: altura de un triángulo
Playground: Calcula la Altura de un Triángulo Escaleno
Porcentajes
Cómo calcular porcentajes
Calculando descuentos con JavaScript
Ejercicio de crear cupones de descuento
Método find vs. método filter
Playground: Encuentra el ID
Estadística básica
Qué es promedio, moda y mediana
Calculando el promedio
Método reduce
Calculando la mediana en una lista impar
Calculando la mediana en una lista par
Método sort
Calculando la moda: objetos a partir de arrays
Calculando la moda: arrays a partir de objetos
Playground: Transforma Objetos en Arrays
Reto: calcula otros tipos de promedio
PlatziMath: clases y métodos estáticos
Análisis de salarios
Cómo estructurar información en proyectos de software
Análisis salarial con JavaScript
Proyección salarial personal
Reestructurando información sobre la marcha
Salarios empresariales
Proyección de salarios por empresas
Top 10% de salarios
Reto: extiende tu análisis salarial
Próximos pasos
Toma el Taller Práctico de JavaScript: Videojuegos
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
Paga en 4 cuotas sin intereses
Termina en:
Juan David Castro Gallego
Aportes 18
Preguntas 1
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.
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👹
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?