Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

0D
16H
36M
46S

Arrays

4/29
Recursos

Aportes 39

Preguntas 10

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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 鈥減or 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.

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 鈥渄ivide y vencer谩s鈥.

馃懢 Arrays

<h4>Ideas/conceptos claves</h4>

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

<h4>Apuntes</h4>
  • Los arrays son como una lista con indices numerales consecutivas

  • Tambien son conocidas como listas

  • Tenemos diferentes m茅todos construidos por el lenguaje

    • Push 鈬 Agregar un elemento al final del array
    • Pop 鈬 Borra el 煤ltimo elemento
    • Unshift 鈬 Agrega un elemento al inicio del array
    • Shift 鈬 Borra el primer elemento
    • Splice 鈬 Agrega un elemento en una parte del array
  • Si nosotros agregamos un elemento al inicio debe haber ciertas operaciones que deben suceder

  • Existen dos formas de arrays

    • Est谩ticos 鈬 Definimos cuantos slots exactamente vamos a usar
    • Din谩micos 鈬 JS Maneja de forma por defecto
    <h3>Array est谩tico</h3>
  • La computadora sabe de d贸nde a donde esta cada informaci贸n o en este caso el numero exactamente
  • La computadora de inicio es darle una cantidad de slots considerable
  • Si es que pasara el l铆mite buscara m谩s espacio en memoria del que est谩 pidiendo la lista
    • Para eso copiara la informaci贸n y la trasladara a donde encuentre conveniente
    • Los espacios anteriores los libera

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

<h3>arrays 鈾</h3>

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).
.

  • En js tenemos m茅todos que nos ayudan a manipularlos y recorrerlos.
  • Tambi茅n existen los arrays din谩micos y est谩ticos. Por default en Js todos los arrays son din谩micos.
<h3>Array</h3>

Es una collecci贸n de informaci贸n

  • Su posicion o indice siempre empieza en 0

Metodos:

  1. PUSH -> Agrega un elemento al final del array
  2. Pop -> Borra el ultimo elemento
  3. Unshift -> Agrega un elemento al inicio del array
  4. Splice -> Agrega un elemento en una posici贸n espec铆fica del array

Tipos:

  • Est谩tico: Tiene un tama帽o por defecto, definido 鈥渕anualmente鈥. No se puede modificar su tama帽o, si se desea agregar mas datos en el toca 鈥渃lonarlo鈥 y crear otro array con la informaci贸n clonana y la nueva.
  • Din谩mico: Su tama帽o (en JS)) es el doble de la informacion proporcionada, por ejemplo:
const arr = [1, 2, 3]

JS por defecto va a crear un array con 6 espacios o posiciones.

  • A diferencia de los est谩ticos, los dinamicos pueden modificarse siempre cuando respete ese tama帽o que le proporciona el lenguaje. De lo contrario toca hacer el mismo proceso de 鈥渃lonarlo鈥

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.

馃槂 Todo lo que menciona, puede ser aplicado a otro lenguaje de programaci贸n. Este es un conocimiento reutilizable.

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 馃槃

<!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>
    <h1>M茅todos</h1>
    <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>

ME MATO EL L CHIQUITO QUE OBSERVA LA CLASE muy buena clase por cierto!!!

Para las personas que no venimos de lenguajes de tan bajo nivel , es fabulosa esta explicaci贸n.

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

Los arrays son una colecci贸n de informaci贸n, y tienen m茅todos para manejar esta informaci贸n.

Existen dos tipos de arrays

  • Est谩ticos: Definimos la cantidad de slots que usaremos.
  • Din谩micos: La cantidad de slots en memoria es predeterminado.

Excelente clase

Arrays

Son coleciones de informacion, pueden ser representados asi:

0 - Diego 
1 - Karen 
2 - Oscar 
3 - Paulina 
4 - Ulises 
5 - Ana 

Metodos

  • push: Agrega un elemento al final del array
  • pop: Borra el ultimo elemento
  • unshift: Agrega un elemento al inicio del array
  • shift: Borra el primer elemento
  • splice: Agrega un elemento en una parte del array

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

== Arrays ==

  • Un array o lista, es una coleccion de informacion, pueden ser estaticos o dinamicos, javascript en particular maneja por default los arrays dinamicos y C maneja las listas de forma estatica.

  • Estaticos: La computadora sabe de d贸nde a donde esta cada informaci贸n en memoria o en este caso el numero exactamente.

const num = [2,5,6,0];
  • Din谩micos: No se especifica el tama帽o de la lista, por ende la memoria debe otorgar una cantidad considerable de slots
    por si la lista aumenta.
const num = [2, 5, 6, 0 , , , ];

Hice una pausa al minuto 5:38 solo para decir que este curso es maravilloso, La manera en que lo explica el profe Diego De Granda es incre铆ble.

Me hizo Limpiar la Panatlla

馃搷 Arrays:

Son una colecci贸n de informaci贸n. Empezamos desde la ubicaci贸n 0.

Generamos un 铆ndice para cada dato que guardamos. Tambi茅n se les conoce como listas.

Tienen muchos metodos para poder manipularlos. Por defecto los Arrays en JS son din谩micos.

鉁 Din谩mico 鈬 Es un Array que se puede mutar.

鉁 Est谩tico 鈬 Es un Array que no puede ser Mutado.

A un Array din谩mico se le dan slots de m谩s por si acaso muta. A los est谩ticos se le dan los justos.

Si un Array necesita ser mutado de m谩s, pues se borran los datos y se vuelven a guardar en un nuevo espacio.

Un array, es un tipo de dato estructurado que permite almacenar un conjunto de datos homogeneo, es decir, todos ellos del mismo tipo y relacionados.

Un array es una manera de poder guardar datos del mismo tipo o clase (Enteros, car谩cteres, booleanos, etc.).
La numeraci贸n de estos elementos dentro del array comienza en 0 (primer elemento del array) y finaliza en n-1 (煤ltimo elemento del array) donde n es el tama帽o completo de dicho array.

  • arrays
    • los arrays estaticos desde el principio tiene definido su numero de slot disponibles, y ya este valor no se puede modificar
    • los arrays dinamicos trabajan siempre con duplicando la cantidad de slots que se le requiere, por ejemplo si pides un arrays de 3 slops el mecanismo de arrays dinamicos va a proveer 6 slots para tener disponibles por si acaso tienda a crecer la cantidad de datos, por consiguiente este tipo de arrays si se pueden modificar. (javascript usa arrays dinamicos)

Resumen:
Son una colecci贸n de informaci贸n tambi茅n conocidas como listas
En los arreglos o listas los datos son guardados en secuencia y se genera un 铆ndice para cada dato guardado.
Los arreglos poseen m茅todos para operar con ellos:

  • Push 鈬 Agregar un elemento al final del array
  • Pop 鈬 Borra el 煤ltimo elemento
  • Unshift 鈬 Agrega un elemento al inicio del array
  • Shift 鈬 Borra el primer elemento
  • Splice 鈬 Agrega un elemento en una parte del array

Arreglos est谩ticos vs din谩micos

  • JavaScript por defecto trabaja con arreglos din谩micos. No decidimos que tan largo ser谩 el arreglo. En JavaScript puedes cambiar el tama帽o del array en todo momento.
  • Si necesitas otras la computadora borra, clona y te devuelva 12 slots separados.
  • En otros lenguajes como C, nosotros al declarar una lista indicamos cuantos elementos va a tener. Esto se hace para a la hora de guardar en memoria la computadora sepa cuanto va a asignarle. Esto ya no se puede modificar.
  • Si nosotros queremos crecerlos debemos borrarla, clonarla y agregarle los slots.


.

ya me emocione de construir un arreglo de esta forma!!!, nos vemos a la sig clase

隆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/

ARRAYS
Es una colecci贸n de informaci贸n. Que se representa de 0 a n cantidad de informaci贸n y el valors es la informaci贸n que queremos guardar, generando un 铆ndice consecutivo. Se les llama Listas en Python. Tienen m茅todos para poder manipularlos: agregar, buscar o eliminar elementos. Entendiendo c贸mo se guarda la informaci贸n entenderemos podemos ver que esto se puede convertir en un problema, pues depende de c贸mo se agregue, se va a usar ciertas operaciones.

Existen dos formas de Arrays. JavaScript utiliza los din谩micos por default. Porque nosotros no definimos el largo de la lista. Pues si se llega generar un Array est谩tico, no podr谩 mutar en el tiempo, no podr谩 cambiar. Por el contrario, un Array din谩mico va a designar dinamicamente en lo que vaya necesitando.

  • Un Array Est谩tico que define solo 3 n煤meros a guardar. En este caso asigna en memoria la cantidad de slots que necesita para guardar la informaci贸n y recuerda el address en la memoria para cuando se requiera. Por lo que si quisi茅ramos obtener el valor de cualquiera de los tres 铆ndices, para el 4 recordar谩 que comienza en el 2 de la tabla. El 8 va a representar el 10 en la tabla y el 5 a partir del 18. Si quisieramos mutar este array est谩tico, lo que realmente estar铆amos haciendo es borrar toda la informaci贸n, clonarla en otro espacio y agregar los slots extras.
  • Un Array Din谩mico, que es como tambi茅n funciona JavaScript, lo que realizar谩 es la computadora es decirle a la memoria 鈥極ye, tengo 3 elementos para guardar, pero necesito 6 slots disponibles porque puede ser que esto crezca鈥. Por lo que se duplicar谩 la cantidad que necesita. Si llegaramos a crear un array de 6 slots buscar谩 12 slots. Pero asumiendo que se entregue 7 datos, lo que har谩 la memoria es buscar aleatoriamente en d贸nde hay 6 slots libres para copiar la informaci贸n inicial, pero buscar谩 los 12 slots para almacenar los 7 datos entregados, y as铆 din谩micamente marcar谩 los 12 slots y guardar谩 la informaci贸n, liberando los antiguos 6 slots que inicialmente ten铆a.

Los arrays son una colecci贸n de informaci贸n, en otros lenguajes de programaci贸n se los llama listas

  • Cada dato tiene un indice (index)

Existen m茅todos nativos para modificar estos arrays:

  • push 鈫 Agregar un elemento al final del array
  • pop 鈫 Borrar el 煤ltimo elemento
  • unshift 鈫 Agregar un elemento al inicio del array
  • splice 鈫 Agregar un elemento en una parte espec铆fica del array

Hay 2 tipos de arrays: Est谩ticos y Din谩micos.

  • Por default Js maneja los arrays din谩micos
<h4>Est谩ticos</h4>
  • Se reservan los slots declarados en un inicio solamente
  • Si se quiere agregar datos lo que hace la computadora es copiar todo el array y ubicarlo en otro espacio de memoria sumando lo elementos deseados
<h4>Din谩micos</h4>
  • Genera el doble de slots cuando se lo crea
    - Si se supera este espacio reservado la computadora copia el array a otro espacio, nuevamente con el doble del nuevo espacio(el doble que el inicial)

Un arreglo es una estructura de datos lineal, que consiste en una colecci贸n de elementos con tipos de datos similares, cada uno identificado con un 铆ndice o clave. El tama帽o de un arreglo (en el caso de los arreglos est谩ticos) debe de ser especificado en el momento de su inicializaci贸n. Los elementos son organizados de manera secuencial, uno despu茅s del otro dentro de un solo bloque de memoria.

Caracter铆sticas:

-Acceso: Soporta un acceso aleatorio eficiente, lo que significa que sus elementos pueden ser accesados directamente a traves de su indice.

-Insercion: Si la insercion esta localizada al principio o en medio del arreglo, todos los elementos posicionados a la derecha se mueven un indice hacia adelante.

-Eliminacion: Si el elemento eliminado esta localizado al principio del arreglo o en medio, todos los elementos posicionados posteriormente se moveran un indice hacia la izquierda para evitar dejar espacios en blanco en la memoria.

-Busquedas: Los arreglos deben de ser revisados de manera secuencial, hasta que un match sea encontrado.

Los Arrays
los arrays son estructuras en los cuales se guardan objetos junto a un 铆ndice, tambipen pueden ser llamados listas.
los arrays como toda clase tambien tienen m茅todos que pueden ejecutarse de la forma Array.metodo(), estos son:

  • push agrega un elemnento al final del array
  • pop borra el ultimo elemento del array
  • unshift Agrega un elemento al incio del array
  • shift borra el primer elemento del array
  • splice agrega un elemento en una parte del array
    **
    Arays Din谩micos vs Est谩ticos**
    Una de las principales diferencias entre los arrays dinamicos y los estaticos es que los arrays dinamicos no se
    incializan con un tama帽o establecido, mientra que los arrays est谩ticos si, JavaScript maneja por default los arrays
    dinpamicos, en otros lenguajes como por ejemplo C o C# se manejan por defecto los arrays est谩ticos declarando su tama帽o
    al pricncipio

El profesor dijo que se parece a las listas en otros lenguajes como python, pero seg煤n tengo entendido las listas funcionan con un enlace, as铆 puede apuntar a cualquier espacio en memoria sin tener la necesidad de ser consecutivos como lo es un array.
Un array ser铆a mejor para la lectura ya que se conoce la posici贸n exacta por el 铆ndice que tiene pero para escritura ser铆a mejor una lista ya que no requiere mover todo ese espacio usado en memoria.

驴Alguien podr铆a explicar m谩s a profundidad este detalle?

pueden ser dinamicos o estaticos, en el primero, cuando crece todo el contenido es movido a una nueva locacion de memoria con suficiente espacio adyacente para almacenar el contenido viejo junto con el nuevo y la anterior locacion es liberada mientras los estaticos reservan el espacio desde el inicio y no cambia

Como un ninio aprendiendo ha hablar hahahah asi me siento

Los arreglos son una estructura de datos que nos sirve para guardar informaci贸n de manera organizada. Como funcionan se le asigna indices n煤mericos a los datos que dentro de este y un nombre general que relacionan la colecci贸n completa, por lo que para acceder a un dato hay que poner el nombre general y su indice entre corchetes. Ejemplo:
const fulano = [0,1,鈥
fulano[0] // = 0

Tipos de array: los din谩micos y los est谩ticos en javascript los arrays por default son dinamicos , en otros lenguajes de programaci贸n como C, C#, C++, etc鈥 existen lso arreglos est谩ticos los cuales son inmutables lo que quieres decir que el numero de datos especificados que estos tendran ser谩 el mismo numero de datos que tendran en todo el programa.

En la proxima clase trabajaremos con clases en JS y probablemente con otros temas m谩s avanzados dentro del Lenguaje espero que hayas tomado todos los cursos espec铆ficados al principio de este y si a煤n as铆 sientes problemas toma: curso profesional de javascript

Me queda clara la diferencia de que a los arrays est谩ticos podemos definir la longitud cuando los inicializamos, pero me confunde cuando habla de la mutaci贸n.
Supongo que quiere decir que no podemos agregar/remover 铆tems al tener una longitud fija, pero despu茅s en el minuto 4:55 dice que si es posible hacer esto y ac谩 me confunde porque estos serian los arrays din谩micos.