Joel Canul Alonzo
Hector Zurga Ramos
Andrés Felipe Lopez gomez
Comprende con claridad cómo funcionan los arrays en JavaScript: qué almacenan, cómo se indexan, qué cambia entre estáticos y dinámicos, y por qué la memoria importa al agregar, buscar o eliminar elementos. Esta guía te ayuda a pensar como ingeniero: desde el índice hasta los slots en memoria y el código detrás de métodos como pop.
¿Qué es un array y cómo se indexa?
Un array es una colección de información organizada por índices consecutivos que comienzan en 0. También se conocen como listas y en otros lenguajes, como Python, se llaman listas. Cada posición del array es un índice y guarda un valor asociado.
¿Qué operaciones básicas permiten los métodos?
¿Cómo cambian los arrays estáticos y dinámicos su gestión de memoria?
En JavaScript trabajas por defecto con arrays dinámicos. No defines la dimensión al crearlos y el motor gestiona memoria extra para permitir que crezcan. En lenguajes como C, los arrays son frecuentemente estáticos: debes indicar cuántos elementos tendrá la lista y esa dimensión no se puede mutar.
¿Qué ocurre al insertar al inicio o crecer la lista?
¿Cómo resuelve la memoria el acceso por índice?
¿Qué debes anticipar al manipular arrays en JavaScript?
El beneficio de los dinámicos es su flexibilidad: puedes agregar, quitar y cambiar valores sin preocuparte por la dimensión exacta. Sin embargo, conviene entender el costo de memoria y tiempo cuando el array crece repetidamente.
¿Por qué construir un array con una clase?
¿Qué riesgos hay al crecer sin control?
¿Te gustaría compartir cómo gestionas el crecimiento de tus arrays en JavaScript o qué dudas tienes sobre slots, address y memoria?
Joel Canul Alonzo
Hector Zurga Ramos
Andrés Felipe Lopez gomez
Carlos Eduardo Gomez García
Andrés Felipe Lopez gomez
Luis Carlos Sarmiento Baez
Rony Porraz Vargas
Sara Acevedo Maya
Iván Arcos
Rubén Ernesto Aragón Gil
Fernando Quinteros Gutierrez
Omar Gabriel Aguilar Moscoso
Omar Gabriel Aguilar Moscoso
Joel Vicente Nieto Gómez
Joel alexander
Joel Vicente Nieto Gómez
Juan Sebastián Agudelo
Sebastian Gonzalez
Brian Domínguez Vázquez
Angel Uriel Hernandez Maldonado
Usuario anónimo
UserLuis Alejandro Vera Hernandez
David Salcedo
Juan Carlos Valencia López
Diego Boyatjian
Juan Cruz
DAMIÁN NICOLAS PINEDO
Christian Alvarenga
silfredo mario
Juan Camilo Lentino Villalba
Mateo Arias Correa
Manuel De León
¡Grandioso resumen! 👍
Gracias
Un array SIEMPRE va a iniciar en la posición 0. . En lenguajes como C tú tienes que definir la cantidad de memoria que quieres reservar para ese array. Esto hace que su uso sea eficiente, pues la computadora no tiene que estar reservando más espacios "por si a caso". . Un array dinámico reservará un poco más de espacio del que necesita, y cuando este espacio se acabe reservará aún más espacio. Recuerda que la computadora tiene que buscar slots consecutivos disponibles para asignar ese espacio y mientras más información haya guardada más difícil será encontrar este espacio.
Es muy practico
Creo que no, en Matlab un array inicia en la posicion 1, si no estoy mal
excelente infografía
La búsqueda binaria es ventajosa sobre una búsqueda lineal estándar porque busca más rápido y más eficientemente es lo que llamamos “divide y vencerás”.
Me aparece buen imagen.
👾 Arrays
Ideas/conceptos claves
Array es una colección de información
Arrays estáticos son aquellos que se quedaran fijos debido a que definimos cuantos espacios tendremos, es decir que le diremos a la maquina cuantos slots deberá usar
Arrays dinámicos son aquellos que podemos mutar
Apuntes
Los arrays son como una lista con indices numerales consecutivas
Tambien son conocidas como listas
Tenemos diferentes métodos construidos por el lenguaje
Si nosotros agregamos un elemento al inicio debe haber ciertas operaciones que deben suceder
Existen dos formas de arrays
Array estático
RESUMEN: Existen dos tipos de listas, los estáticos que estas cuentan con slots de memoria definidos por nosotros y los dinámicos, estos se usan por defecto JavaScript, requieren una considerable cantidad de memoria la cual puede crecer a medida que lo necesitemos
Gracias por el aporte
Gracias por el aporte
No entendí la parte donde De Granda explica que en Memory slot, el elemento 4 del array nums, cubre del slot 2 al 9, me pueden ayudar a entenderlo.
Cada cuadro representa un bit, y cada numero representa un byte teniedo que 1 Byte = 8 bits; cada numero va abarcar 8 posiciones de memory slot
Oh yeah, cierto ya entendí. Gracias!.
arrays ♥
Es una de las estructuras de datos mas básica y que probablemente ya hayas utilizado, es muy común que cuando no sepamos sobre este tema de Data Strucutures todo absolumente todo lo metamos en un array y ya esta. Esto no suele ser buena practica ya que los arrays no son la mejor de las soluciones en muchos casos Son una collection de information, donde cada elemento (los valores que guardemos separados por coma) dentro del array tiene una posición, (Siempre iniciamos a contar en la posición 0). .
++Array++
Es una collección de información
Metodos:
Tipos:
const arr = [1, 2, 3]
JS por defecto va a crear un array con 6 espacios o posiciones.
Los arrays son una coleccion de informacion almacenada en la memoria, donde su tamaño depende de si el array es estatico o dinamico.
Un array estático es aquel que le avisa a la memoria cuantos slots utliza, como en C++. Si se requiere que este tamaño aumente lo que hace la memoria es copiar los datos obtenidos y añadirle el nuevo dato en un nuevo espacio de memoria para posteriormente eliminar el antiguo.
//Código en C int arre[5] = {1, 2, 3, 4, 5};
Un array dinámico No avisa a la memoria cuanto espacio va a ocupar, por lo tanto la memoria le va a asignar el doble de slots de su memoria inicial en caso de que se llegue a necesitar más espacio. Si se ocupa mas de lo solicitado de memoria ocurre algo similar que con los estáticos, Se copia el nuevo valor de los slots a un espacio disponible el cual sera del máximo anterior multiplicado por 2.
//Código en JS let arre = ["Diego", "Karen", "Michi"];
Si a alguien le sirve les comparto mis apuntes que hice en un HTML :D
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Arrays</title> </head> <body> <h2>Métodos</h2> <ul> <li><b>push: </b> agrega un elemento al final del array</li> <li><b>pop: </b> borra el último elemento</li> <li><b>unshift: </b> agrega un elemento al inicio del array</li> <li><b>shift: </b> borra el primer elemento del array</li> <li><b>splice: </b> agrega un elemento en una parte del array</li> </ul> </body> </html>
😃 Todo lo que menciona, puede ser aplicado a otro lenguaje de programación. Este es un conocimiento reutilizable.
Genial la clase, me gusta como explica De Granda, sabe traer a ejemplos cotidianos todos estos conceptos tecnicos con palabras sencillas y familiares
Para los arrays :la búsqueda, inserción y borrado son BIg O(n) en complejidad de tiempo.
muy buena, la (big O notation) me ayudó a entender los tiempos de ejecución y cómo poder hacerlo más óptimo. Es bueno para medir algoritmos muy usados como la búsqueda binaria. 🙂
Array estatico
array nums = [4, 8, 5] la PC sabe en que slot comienza cada dato del array 2 al 9 = numero 4 = 1 byte 10 al 17 = numero 8 18 al 25 = numero 5 cada numero ocupa 1byte , osea 8 bits
Array dinamico
array nums = [4, 8, 5] == [4, 8, 5, X, X, X,] en un array dinamico, el array se crea con 3 elementos ya definidos, pero el array en total reserva el doble de elementos si creamos un array de 3, crea uno con 6 espacios disponibles en memoria... pero si le agregamos elementos hasta llegar a 7, js lo que va a hacer es crear un nuevo array con 12 slots, y va a copiar los elementos que tenia el array inicial en este nuevo array, va a agregar el 7mo elemento en el nuevo array y luego va a borrar al array original para optimizar el espacio de memoria
Para las personas que no venimos de lenguajes de tan bajo nivel , es fabulosa esta explicación.
ME MATO EL L CHIQUITO QUE OBSERVA LA CLASE muy buena clase por cierto!!!!!
Los Arrays se guardan en memoria Heap o Stack? Los Slots son algo exclusivos de alguna de esas dos memorias mencionadas o ambas la poseen?
En JavaScript, los Arrays se almacenan en la memoria Heap. La memoria Heap es el espacio de memoria dinámica que se utiliza para alojar objetos grandes y estructuras de datos complejas.
Los Slots (ranuras) son una abstracción utilizada en JavaScript para referirse a las posiciones de los elementos de la matriz. Cada elemento de la matriz se almacena en una ranura numerada que se puede acceder mediante su índice. Estas ranuras se asignan dinámicamente en la memoria Heap a medida que se agregan elementos a la matriz.
La memoria Stack, por otro lado, es un espacio de memoria que se utiliza para almacenar variables locales y datos temporales relacionados con la ejecución de funciones. Las variables de tipo primitivo como números, booleanos y cadenas se almacenan en la memoria Stack, pero los Arrays y otros objetos más grandes se almacenan en la memoria Heap.
Arrays
Son coleciones de informacion, pueden ser representados asi:
0 - Diego 1 - Karen 2 - Oscar 3 - Paulina 4 - Ulises 5 - Ana
Metodos
Tipos de arrays
estáticos y dinámicos
Arrays estáticos
Al ser creados se declara su dimensión o tamaño, cantidad de slots que asignamos en memoria, y no puede ser redimensionado nuevamente
Array dinámicos
Al ser creados no debemos declarar su dimensión o tamaño, cantidad de slots que asignamos en memoria, y puede ser redimensionado o modificado cuantas veces se desee
Me hizo Limpiar la Panatlla
¡Hola! xD Para quien le pueda servir les comparto este artículo que escribí respecto a los arrays. Hope you like it!!! https://deleonnet.com/blog/javascript/arrays/