{"id":194,"date":"2023-06-30T16:30:20","date_gmt":"2023-06-30T19:30:20","guid":{"rendered":"https:\/\/danielsegovia.com\/plataforma\/?p=194"},"modified":"2023-07-07T13:57:28","modified_gmt":"2023-07-07T16:57:28","slug":"09-arrays","status":"publish","type":"post","link":"https:\/\/danielsegovia.com\/plataforma\/09-arrays\/","title":{"rendered":"09 &#8211; Arrays"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Es hora de continuar avanzando y hoy nos toca ver una estructura de datos m\u00e1s compleja, en la programaci\u00f3n, los <strong>arrays<\/strong> son una herramienta del d\u00eda a d\u00eda para almacenar y manejar datos de forma eficiente. Los arrays son una estructura de datos que nos permiten almacenar varios elementos dentro de una sola variable. <br>En JavaScript, los arrays se utilizan en todo tipo de aplicaciones, desde la manipulaci\u00f3n de listas de usuarios hasta el manejo de datos complejos en aplicaciones web.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es un array?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En programaci\u00f3n, un array es una estructura de datos que nos permite almacenar varios elementos de datos en una sola variable. Podemos pensar en un array como una lista de cosas, donde cada elemento en la lista tiene un \u00edndice que lo identifica de manera \u00fanica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La principal diferencia entre un array y una variable es que una variable puede contener un solo valor a la vez, mientras que un array puede contener varios valores. Por ejemplo, si queremos almacenar una lista de nombres de personas, podemos crear un array y agregar todos los nombres en \u00e9l. Si intentamos hacer esto con una variable, tendr\u00edamos que crear una variable diferente para cada nombre, lo cual ser\u00eda tedioso y poco pr\u00e1ctico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, los arrays nos permiten realizar operaciones en masa en los elementos que contiene, como ordenarlos, filtrarlos, agregar nuevos elementos, eliminar elementos, y muchos otros. En el transcurso de todo el curso trabajaremos mucho con arrays y podremos realizar multiples operaciones<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Untitled-Diagram-7.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"81\" src=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Untitled-Diagram-7.jpg\" alt=\"\" class=\"wp-image-416\" srcset=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Untitled-Diagram-7.jpg 661w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Untitled-Diagram-7-300x37.jpg 300w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observa en el gr\u00e1fico como en la parte de la izquierda defino una variable y almaceno <strong>solamente<\/strong> el n\u00famero 71<br>De la parte derecha defino <strong>numeros<\/strong> y almaceno 5 valores diferentes, ya entraremos en detalle de como escribirlo, pero cada vez que veas un array en el c\u00f3digo recuerda este gr\u00e1fico porque as\u00ed es como debes visualizarlo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sintaxis<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En JavaScript, los arrays se pueden crear de varias formas. La forma m\u00e1s com\u00fan de crear un array es utilizando corchetes <code>[]<\/code> y separar con comas cada uno de los valores que deseas almacenar. Por ejemplo, para crear un array de n\u00fameros, podemos escribir lo siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let numeros = [17, 31, 27, 45, 89];<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed defin\u00ed un array donde almaceno 5 valores, los mismos que acabamos de ver en el gr\u00e1fico<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Acceso a la data<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora una pregunta que seguramente se nos venga a la cabeza es \u00bfc\u00f3mo acceder a cada uno de los valores?<br>Cada uno de los valores es llamado elemento y a cada elemento JavaScript autom\u00e1ticamente le asigna un \u00edndice, comienza desde el 0 y va incrementando en uno para cada elemento.<br>Por ejemplo, el valor del \u00edndice 0 del array es n\u00fameros es 17 y del \u00edndice 3 es 45<br>Ahora veamos en un ejemplo como trabajar con estos \u00edndices<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let numeros = [17, 31, 27, 45, 89];\nconsole.log(numeros[0]) \/\/imprime 17\nconsole.log(numeros[4]) \/\/imprime 89<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Agregar valores<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es posible agregar valores a un array a trav\u00e9s del m\u00e9todo push, para hacerlo solamente hay que hacer nombre del array punto push y entre parentesis agregar el valor que queremos introducir al array.<br>Es importante destacar que cuando a\u00f1adimos un elemento ser agregar\u00e1 \u00faltimo en el array<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:38% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"807\" src=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-16-20-55-14.png\" alt=\"\" class=\"wp-image-420 size-full\" srcset=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-16-20-55-14.png 828w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-16-20-55-14-300x292.png 300w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-16-20-55-14-768x749.png 768w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let nombres = [\"Mar\u00eda\", \"Juan\"]\nconsole.log(nombres) \/\/imprimo todos los nombres\nnombres.push(\"Estefan\u00eda\")\nconsole.log(nombres) \/\/imprimo todos los nombres<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Largo del array<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">JavaScript nos provee una propiedad que nos indica la cantidad de elementos que tiene un array, esto es algo realmente muy \u00fatil para trabajar.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:38% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"709\" src=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-19-57-22.png\" alt=\"\" class=\"wp-image-424 size-full\" srcset=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-19-57-22.png 853w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-19-57-22-300x249.png 300w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-19-57-22-768x638.png 768w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let nombres = [\"Mar\u00eda\", \"Juan\", \"Estefan\u00eda\"]\nfor(i =0; i&lt;3; i++){\n    console.log(nombres[i])\n}<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observa que mediante un ciclo for voy recorriendo cada uno de los elementos del array, es decir, la variable <strong>i<\/strong> en la primera vuelta del ciclo vale 0 y cuando imprimo el valor del ciclo hago <strong>nombres[i]<\/strong> es decir, para la primera vuelta ser\u00eda nombres[0].<br>Por cada vuelta del ciclo la variable se va incrementado de a uno en uno, es decir, nombres[0], nombres[1] y nombres[2] por eso raz\u00f3n mi c\u00f3digo imprime todos los nombres.<br>En este caso controlamos el largo del array, sabemos que hemos escrito en el c\u00f3digo 3 nombres, pero muchos veces ocurre que el array se va rellenando con datos externos y se inicializa trayendo datos de otro lugar, en esos casos no se cuantos elementos hay en el array, entonces al intentar ciclaros no sabr\u00eda que condici\u00f3n poner dentro del ciclo para que se detenga cuando no hay m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para todos los array JavaScript tiene la propiedad length que nos dar\u00e1 un entero de la cantidad de elementos que tiene el array, observa el siguiente ejemplo y te quedar\u00e1 claro.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\" style=\"grid-template-columns:38% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"853\" height=\"709\" src=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-20-04-37.png\" alt=\"\" class=\"wp-image-425 size-full\" srcset=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-20-04-37.png 853w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-20-04-37-300x249.png 300w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-17-20-04-37-768x638.png 768w\" sizes=\"auto, (max-width: 853px) 100vw, 853px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let planetas = [\"Tierra\", \"Marte\", \"Jupiter\"]\nplanetas.push(\"Pluton\") \/\/a\u00f1ado un planeta m\u00e1s\n\nconsole.log(`Mi array tiene ${planetas.length} elementos`)\nconsole.log(\"=======================================\")\n\nfor(i =0; i&lt;planetas.length; i++){\n    console.log(planetas[i])\n}<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observa como en la l\u00ednea 4 la aplicaci\u00f3n imprime que hay 4 elementos<br>Por \u00faltimo, observa que en la condici\u00f3n del medio en el ciclo utilizo <strong>planetas.length<\/strong> es decir, no importa cuantos elementos haya dentro del array, con el c\u00f3digo que cre\u00e9 los puedo recorrer todos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 puedo almacenar?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En los ejemplos que hemos visto hoy hemos almacenado dentro de un array n\u00fameros y strings pero es importante que sepas que puedes almacenar cualquier tipo de dato, inclusive un array dentro de un array<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let cosas = [true, false, \"hola\", 7, [\"dani\", 41, true]]\n\nconsole.log(cosas[0]); \/\/true\nconsole.log(cosas[3]); \/\/7\nconsole.log(cosas[4][0]); \/\/dani<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Presta atenci\u00f3n al \u00faltimo console.log estoy seleccionado 2 \u00edndice [4][0]<br>Al seleccionar el elemento 4 me encuentro con un array por lo tanto para acceder a los valores tengo que acceder a trav\u00e9s de su \u00edndice, selecciono 0 y por esa raz\u00f3n me devuelve \u00abdani\u00bb. El siguiente ejemplo te ayudar\u00e1 a clarificarlo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let cosas = [true, false, \"hola\", 7, [\"dani\", 41, true]]\nlet nuevo_array = cosas[4]\n\nconsole.log(nuevo_array[0]); \/\/dani\nconsole.log(cosas[4][0]); \/\/dani<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini desaf\u00edo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crea un array con 10 elementos num\u00e9ricos y sobre ese array dime cual es el valor m\u00e1s alto<br>Nota: No busques en internet la soluci\u00f3n, aprovecha el ejercicio para ejercitar tu l\u00f3gica, con un array, una variable y un ciclo for lo puedes resolver.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Reviv\u00ed la clase en vivo<\/h2>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Curso Node.Js - Clase 09 - Arrays\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/ITi9jK1KAkM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Es hora de continuar avanzando y hoy nos toca ver una estructura de datos m\u00e1s compleja, en la programaci\u00f3n, los arrays son una herramienta del d\u00eda a d\u00eda para almacenar y manejar datos de forma eficiente. Los arrays son una estructura de datos que nos permiten almacenar varios elementos dentro de una sola variable. En &#8230; <a title=\"09 &#8211; Arrays\" class=\"read-more\" href=\"https:\/\/danielsegovia.com\/plataforma\/09-arrays\/\" aria-label=\"Leer m\u00e1s sobre 09 &#8211; Arrays\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[26,8,10,6],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-curso-de-node-js","category-logica-de-programacion-con-javascript","tag-array","tag-javascript","tag-nodejs","tag-programacion"],"_links":{"self":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":16,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":613,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/194\/revisions\/613"}],"wp:attachment":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}