Contenido del curso
0:00/64:06
Fundamentos de JavaScript con ejemplos en vivo
Suscríbete para ver másCómo resolver closures y arrays con JavaScript
Suscríbete para ver más30 días de JS con GNDX
Suscríbete para ver más30 días de JS con LeoCode
Suscríbete para ver más30 días de JS con Teffcode
Suscríbete para ver másSesión: Cierre de los 30 días de JavaScript
play_circleViendo ahoraAprende a construir un array en JavaScript desde cero y domina métodos clave sin depender de los nativos. Aquí verás cómo implementar map, filter, join, push, pop, shift y unshift, entender por qué los arrays son objetos y repasar for in vs for of. Además, toma nota de la fecha límite: 30 de abril y cómo asegurar tus comunicaciones.
¿Qué pasó con los treinta días de JavaScript y cuál es la nueva fecha límite?
La comunidad acordó extender el reto. La fecha límite es el 30 de abril. Esto da margen para completar los días pendientes y cerrar con examen y certificado.
¿Qué habilidades y conceptos practicarás al crear una clase de array?
El desafío pide implementar una clase que funcione como un array nativo sin usar sus métodos. Esto refuerza fundamentos de estructuras de datos y del lenguaje.
¿Cómo se implementan push y map sin arrays nativos?
class MyArray { constructor() { this.data = {}; // objeto como contenedor indexado. this.length = 0; // contador de elementos. } push(item) { this.data[this.length] = item; // agrega al final. this.length += 1; // actualiza length. return this.length; // como el nativo. } map(fn) { const res = new MyArray(); for (let i = 0; i < this.length; i++) { const element = this.data[i]; res.push(fn(element)); } return res; // retorna un nuevo array. } }
¿Cómo filtran y concatenan filter y join?
filter(fn) { const res = new MyArray(); for (let i = 0; i < this.length; i++) { const el = this.data[i]; if (fn(el)) res.push(el); } return res; }
join(sep = ",") { let out = ""; for (let i = 0; i < this.length; i++) { out += this.data[i]; if (i < this.length - 1) out += sep; // sin separador extra. } return out; }
¿Qué hacen pop, shift y unshift en tu estructura?
pop() { if (this.length === 0) return undefined; const lastIndex = this.length - 1; const last = this.data[lastIndex]; delete this.data[lastIndex]; this.length -= 1; return last; }
shift() { if (this.length === 0) return undefined; const first = this.data[0]; for (let i = 0; i < this.length - 1; i++) { this.data[i] = this.data[i + 1]; } delete this.data[this.length - 1]; this.length -= 1; return first; }
unshift(item) { for (let i = this.length; i > 0; i--) { this.data[i] = this.data[i - 1]; } this.data[0] = item; this.length += 1; return this.length; }
Punto crítico: cuidar casos como item igual a 0 y el orden de las operaciones para no sobrescribir valores.
¿Cuándo usar for in y for of en JavaScript?
Regla práctica: for of itera valores; for in itera índices o claves.
const arr = [1, 2, 3]; for (const v of arr) console.log(v); // 1, 2, 3. for (const k in arr) console.log(k); // '0', '1', '2'.
const obj = { live: 'cierre del live', students: 100000 }; for (const k in obj) console.log(k); // 'live', 'students'. for (const v of Object.values(obj)) console.log(v); // 'cierre del live', 100000.
¿Tienes dudas sobre la implementación o sobre el reto, el examen, las mentorías o los playgrounds? Cuéntame en los comentarios qué parte te costó más y qué te gustaría ver en treinta días de Python.
Carina Payleman
Brayan Estiben Rodallega Saavedra
Francisco Jesús Eslava Fernández
Luis Carlos Zapata García
Marcia Cuba Rengifo
Gregorio Navarrete
Venganza!! Leo sufriendo en vivo con sus propios ejercicios jajajajajaja ❤ Se esperará con ansias los #30diasPythonPlatzi 🐍💚
Jajajajaaj 💪
Si!!
Ya listos para los #30diasPythonPlatzi !!!
:D
Estoy publicando un 🧵 donde hice un video sobre la clausura y, los aprendizajes en el reto. Sí, les gustan los tuits, un RT para que le llegue a más personas de la comunidad. Gracias y felicitaciones por terminar el reto.
hola, nunca encontré el link de discord , cual es?
Hace el ejercicio 78 en el minuto 24:48