<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Steven Lozano</title>
    <description>The latest articles on Forem by Steven Lozano (@stevendev).</description>
    <link>https://forem.com/stevendev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F872592%2F505dc0a6-63ee-434b-9575-4b24aae6a6f7.jpg</url>
      <title>Forem: Steven Lozano</title>
      <link>https://forem.com/stevendev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/stevendev"/>
    <language>en</language>
    <item>
      <title>Métodos de arrays en Javascript Parte 1</title>
      <dc:creator>Steven Lozano</dc:creator>
      <pubDate>Tue, 01 Aug 2023 20:12:46 +0000</pubDate>
      <link>https://forem.com/stevendev/metodos-de-arrays-en-javascript-parte-1-2934</link>
      <guid>https://forem.com/stevendev/metodos-de-arrays-en-javascript-parte-1-2934</guid>
      <description>&lt;p&gt;Una vez se entiende el &lt;a href="https://dev.to/stevendev/arrays-en-javascript-3fe9"&gt;funcionamiento principal de los arrays&lt;/a&gt;, surgen otros interrogantes y necesidades, como por ejemplo: ¿Cómo agrego un elemento al final del array? ¿Cómo ordeno un array? ¿Cómo busco un elemento que cumpla con una condición? Debido a que estas necesidades son recurrentes a la hora de desarrollar un programa, la mayoría de lenguajes de programación disponen de métodos por defecto para realizar estas tareas de forma simple y óptima. Javascript incluye muchos métodos por defecto, que se deben conocer para encontrar soluciones adecuadas a los requerimientos del programa. En esta primera parte se describirán algunos de estos métodos con ejemplos prácticos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Método &lt;code&gt;push()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Generalmente no es necesario que los arrays lleven un orden y simplemente se necesita agregar nuevos elementos al final de un array existente. Para este tipo de casos el &lt;code&gt;push()&lt;/code&gt; cumple con esa función y permite tener un código limpio y legible. El método &lt;code&gt;push()&lt;/code&gt; recibe uno o varios elementos como parámetro, los añade al final del array y adicionalmente retorna la cantidad de elementos después de la adición.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;⚽&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏀&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏈&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Se agrega un deporte al final del array&lt;/span&gt;
&lt;span class="c1"&gt;// Se guarda el nuevo total de elementos en 'total'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏐&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 4&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['⚽', '🏀', '🏈', '🏐']&lt;/span&gt;

&lt;span class="c1"&gt;// Se agregan dos deportes al final del array&lt;/span&gt;
&lt;span class="c1"&gt;// Se guarda el nuevo total de elementos en 'total2'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;total2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;⚾&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🎾&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;total2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 6&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['⚽', '🏀', '🏈', '🏐', '⚾', '🎾']&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7un9q8r3b7nw3zcceu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk7un9q8r3b7nw3zcceu8.png" alt="Método push Javascript"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Método &lt;code&gt;unshift()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;No siempre se busca agregar elementos al final del array, sino que por el contrario se necesita agregarlos al principio. Javascript también dispone de un método para hacer esto llamado &lt;code&gt;unshift()&lt;/code&gt;, este método también recibe uno o varios elementos como parámetro y devuelve la nueva cantidad de elementos, pero al contrario del &lt;code&gt;push()&lt;/code&gt;, este los agrega al principio. Veamos el mismo ejemplo anterior pero implementado con &lt;code&gt;unshift()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;⚽&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏀&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏈&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Se agrega un deporte al principio del array&lt;/span&gt;
&lt;span class="c1"&gt;// Se guarda el nuevo total de elementos en 'total'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unshift&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🏐&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;total&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 4&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['🏐', '⚽', '🏀', '🏈']&lt;/span&gt;

&lt;span class="c1"&gt;// Se agregan dos deportes al principio del array&lt;/span&gt;
&lt;span class="c1"&gt;// Se guarda el nuevo total de elementos en 'total2'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;total2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unshift&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;⚾&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🎾&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;total2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 6&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sports&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['⚾', '🎾', '🏐', '⚽', '🏀', '🏈']&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhll46d30c3gkm60c6as.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhll46d30c3gkm60c6as.png" alt="Método unshift Javascript"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Método &lt;code&gt;find()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Los arrays tienden a crecer en tamaño y en variedad de elementos que tiene almacenados, perdiendo relativamente el control de en que índice está guardado cierto elemento o incluso saber si el elemento existe dentro del array. El método &lt;code&gt;find()&lt;/code&gt; facilita la búsqueda elementos dentro de un array. Este método recibe como parámetro una función con una condición y devuelve el primer elemento que cumpla con esta, aunque si no encuentra el elemento devolverá &lt;code&gt;undefined&lt;/code&gt;. En este ejemplo usaremos un array de números para facilitar la comprensión del método.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;58&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Buscamos un elemento que sea mayor que 12&lt;/span&gt;
&lt;span class="c1"&gt;// El método devolverá el primer elemento que cumpla con la condición&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greaterThan12&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greaterThan12&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 23&lt;/span&gt;

&lt;span class="c1"&gt;// Ahora buscamos un elemento que sea igual a 6&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;equalTo6&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;equalTo6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 6&lt;/span&gt;

&lt;span class="c1"&gt;// Buscamos un elemento que sea mayor que 100&lt;/span&gt;
&lt;span class="c1"&gt;// Como ningún elemento cumple con la condición, devuelve undefined&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greaterThan100&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greaterThan100&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// undefined&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4aniveh47waubpn0k55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4aniveh47waubpn0k55.png" alt="Método find Javascript"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Intencionalmente el array tiene dos elementos repetidos, porque pese a que existen dos elementos con el mismo valor 6, al buscarlo con el &lt;code&gt;find()&lt;/code&gt; nos retornará el primero que encuentre y el otro se ignora por completo, esto quiere decir que el método detiene la búsqueda una vez encuentre el elemento que cumpla con la condición.&lt;/p&gt;

&lt;h3&gt;
  
  
  Método &lt;code&gt;findIndex()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Si se quiere conocer el índice de un elemento para posteriormente modificarlo, el método &lt;code&gt;findIndex()&lt;/code&gt; cumple con esa función. Este método tiene una funcionalidad parecida al &lt;code&gt;find()&lt;/code&gt;, con la diferencia que en este caso no se devuelve el elemento sino el índice de este. Igualmente recibe una función como parámetro con una condición y devuelve el índice del primer elemento que cumpla con esta, pero si no encuentra ningún elemento retorna -1. Usando el mismo ejemplo con los números.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;58&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="c1"&gt;// Buscamos un elemento que sea mayor que 10&lt;/span&gt;
&lt;span class="c1"&gt;// El método devolverá el índice del primer elemento que cumpla con la condición&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greaterThan10Index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;findIndex&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greaterThan10Index&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 2&lt;/span&gt;

&lt;span class="c1"&gt;// Con el índice, se puede modificar el valor de esa posición en el array&lt;/span&gt;
&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;greaterThan10Index&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// [4, 6, 10, 23, 58, 6]&lt;/span&gt;

&lt;span class="c1"&gt;// Buscamos un elemento que sea mayor que 100&lt;/span&gt;
&lt;span class="c1"&gt;// Como ningún elemento cumple con la condición, devuelve -1&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;greaterThan100Index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;findIndex&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;number&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;number&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;greaterThan100Index&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// -1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4tw4kbb0d6kabez0n7th.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4tw4kbb0d6kabez0n7th.png" alt="Método findIndex Javascript"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Estos solo son algunos métodos de los que dispone Javascript para manipular y buscar en arrays. La idea es hacer un par de post adicionales con método útiles y que se usan mucho en el día a día como desarrollador de Javacript.&lt;/p&gt;

&lt;p&gt;Hasta una próxima!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Arrays en Javascript</title>
      <dc:creator>Steven Lozano</dc:creator>
      <pubDate>Sun, 18 Jun 2023 17:03:54 +0000</pubDate>
      <link>https://forem.com/stevendev/arrays-en-javascript-3fe9</link>
      <guid>https://forem.com/stevendev/arrays-en-javascript-3fe9</guid>
      <description>&lt;p&gt;Los arrays o en español "arreglos", es una estructura de datos fundamental no solo en Javascript, sino que también en la mayoría de lenguajes de programación.&lt;/p&gt;

&lt;p&gt;En este post se explicará y se realizarán ejemplos que faciliten de forma práctica el entendimiento de los conceptos fundamentales y de su implementación en Javascript. Si eres principiante o simplemente quieres reforzar tus conocimientos, te invito a que continúes leyendo este post, seguro te será de mucha utilidad.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Qué es un array?
&lt;/h3&gt;

&lt;p&gt;Antes de revisar como se implementan los arrays en Javascript, debemos respondernos la pregunta ¿Qué es un array? Un array es un conjunto o colección de elementos, agrupados en una sola variable y que es accesible en cualquier momento que se necesite. Este concepto es el mismo para todos los lenguajes de programación y no está ligado exclusivamente a Javascript. &lt;/p&gt;

&lt;p&gt;Para entender mejor el concepto podemos encontrar similitudes con una estantería de libros, en donde se van agregando libros a medida que se van adquiriendo y que se ponen uno al lado de otro. Así mismo pasa con los arrays, tienes una estantería que es la variable que guarda el array y tienes libros que son el conjunto de elementos que contiene el array.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9IqNEEKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rij6df53l2bsrywbf85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9IqNEEKV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rij6df53l2bsrywbf85.png" alt="estantería de libros" width="600" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La idea principal de los arrays es agrupar elementos homogéneos, que tengan características similares para facilitar el orden y la limpieza del código. En una estantería puedes guardar solo libros, aunque también puedes poner otros objetos, pero esto se evita en lo posible porque dificultaría el orden y el acceso a los libros, así mismo pasa con los arrays, puedes agrupar números o texto u objetos, pero no sería recomendable agruparlos todos en un mismo array porque rompería con el orden y dificultaría el entendimiento del código.&lt;/p&gt;

&lt;p&gt;Los arrays cuentan con algunos conceptos claves que se deben entender antes de utilizarlos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Elemento
&lt;/h3&gt;

&lt;p&gt;Un elemento es el espacio ocupado dentro del array, con un valor preferiblemente homogéneo al resto de elementos. Este elemento posee una posición que lo identifica y que permite acceder a su valor fácilmente a este e inclusive modificarlo o eliminarlo. Un elemento puede ser un número, un texto, un boolean o un objeto. Volviendo al ejemplo de la estantería, cada libro es un elemento que ocupa un espacio dentro de la estantería.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P9iiTruE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tf8joudrkmzszmip6fk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P9iiTruE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tf8joudrkmzszmip6fk.png" alt="elemento de un array" width="600" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Índice
&lt;/h3&gt;

&lt;p&gt;Los elementos ocupan un espacio y tienen una posición que los identifica, a esta posición se le llama índice. El índice es un valor numérico entero que identifica a los elementos de un array. Este índice en Javascript siempre comienza desde 0, es decir, el primer elemento que se agrega al array siempre tiene índice 0. El índice va incrementando su valor secuencialmente por cada elemento que se agregue, por ejemplo, si se tiene un array de 5 elementos, el índice del último elemento es 4, teniendo en cuenta de que se comienza desde 0. Este índice facilita el acceso a un dato específico del array, así como también modificarlo o inclusive eliminarlo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a_trTXpQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ddsj6o6d4asjzxwegdb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a_trTXpQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ddsj6o6d4asjzxwegdb.png" alt="índice de un array" width="600" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tamaño
&lt;/h3&gt;

&lt;p&gt;Un array puede tener tantos elementos como recursos que se tenga para almacenarlos. Esta característica hace que un array pueda tener 10, 20, 30 o 5000 elementos y que contarlos manualmente pueda ser una tarea caótica. La mayoría de lenguajes facilitan este proceso, disponiendo de una propiedad llamada &lt;code&gt;length&lt;/code&gt; que contiene el valor numérico entero del tamaño total del array, es decir, cuantos elementos tiene el array al momento de consultar la propiedad.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GkfdZgCr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31ezhcop4n2gjbrwrlf4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GkfdZgCr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31ezhcop4n2gjbrwrlf4.png" alt="tamaño de un array" width="600" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Como crear un array en Javascript
&lt;/h3&gt;

&lt;p&gt;Ahora que ya se tienen los conceptos básicos de lo que es un array, podemos comenzar con crear un array en Javascript. Esta forma de crear un array es la más utilizada en general, posteriormente habrá ejemplos de alternativas para crear un array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📗&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📘&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📙&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📓&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📔&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📕&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esta forma es la más sencilla de crear un array, simplemente se agregan los elementos dentro de un par de corchetes ([]), se separa cada elemento con una coma (,) y se asignan a una variable. En este ejemplo guardamos 6 objetos que representan libros, en una variable llamada &lt;code&gt;estanteria&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Aunque la anterior forma sea la más sencilla y más utilizada, no quiere decir que sea la única forma. En Javascript se puede crear un array a partir del constructor &lt;code&gt;Array()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📗&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📘&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📙&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📓&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📔&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📕&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El resultado es el mismo: Se crea un array de 6 elementos, que se guardan en una variable llamada &lt;code&gt;estanteria&lt;/code&gt;. Aunque el resultado es el mismo, la sintaxis y el proceso cambia un poco.&lt;/p&gt;

&lt;p&gt;El constructor &lt;code&gt;Array()&lt;/code&gt; posee otra característica que se debe tener en cuenta para evitar efectos no deseados en el programa.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esta forma de crear arrays, pasando un número al constructor, lo que hace es crear un array con una cantidad de espacios vacíos de acuerdo al número suministrado, en el caso del ejemplo se suministró el número 2, por lo que se creó un array con 2 posiciones vacías y se guardó en la variable &lt;code&gt;estanteria&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Otra alternativa para crear un array es el método &lt;code&gt;Array.of()&lt;/code&gt;, que a diferencia del constructor &lt;code&gt;Array()&lt;/code&gt; si se pasa solo un elemento de tipo número como parámetro, se crea un array solo con ese elemento.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;espaciosVacios&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Array con dos posiciones vacías&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;elementoNumerico&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;of&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Array solo con el elemento 2: [2]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Con el ejemplo anterior se identifica claramente la diferencia entre ambas formas de crear arrays. En la variable &lt;code&gt;espaciosVacios&lt;/code&gt; con el constructor &lt;code&gt;Array()&lt;/code&gt; se creó un array con 2 espacios vacíos, mientras que en &lt;code&gt;elementoNumerico&lt;/code&gt; se creó un array con un solo elemento de valor 2. Estas opciones son alternativas, pero en general es más simple utilizar los corchetes ([]).&lt;/p&gt;

&lt;h3&gt;
  
  
  Como obtener un elemento del array
&lt;/h3&gt;

&lt;p&gt;Un array es una estructura que guarda muchos elementos, pero ¿Cómo se obtiene un elemento? Un elemento se obtiene con la sintaxis &lt;code&gt;nombreVariable[índice]&lt;/code&gt;, aquí es donde el índice juega un papel importante como identificador del elemento dentro del array, esto facilita el acceso y la manipulación de los elementos del array. Siguiendo con el mismo ejemplo de la estantería de libros.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📗&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📘&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📙&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📓&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📔&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📕&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;libroVerde&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;libroAzul&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;libroVerde&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// '📗'&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;libroAzul&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// '📘'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Como acceder al último elemento del array sin conocer su posición
&lt;/h3&gt;

&lt;p&gt;Para finalizar, cuando se usan arrays muchas veces es necesario acceder al último elemento, pero al ser un tamaño dinámico, no se puede saber con certeza cuál es su índice. El array comienza su índice en 0 y el tamaño es el conteo de elementos, por lo tanto, el elemento final siempre será el tamaño del array menos 1. La sintaxis es igual que para obtener un elemento &lt;code&gt;nombreVariable[nombreVariable.length - 1]&lt;/code&gt;, pero el índice se obtiene restando 1 al tamaño del array.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📗&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📘&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📙&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📓&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📔&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;📕&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ultimoLibro&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;estanteria&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;estanteria&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ultimoLibro&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// '📕'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  En conclusión
&lt;/h3&gt;

&lt;p&gt;Los arrays son una estructura muy usada en los lenguajes de programación, es normal encontrarse con uno cada día y es fundamental para entender la mayoría del código de una aplicación. Los siguientes posts estarán enfocados en los arrays, con conceptos básicos e intermedios como el ordenamiento, métodos para manipularlos, inmutabilidad, entre otros.&lt;/p&gt;

&lt;p&gt;Espero que este post haya sido de gran ayuda, escríbeme en los comentarios si tienes alguna duda. ¡Hasta la próxima!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>arrays</category>
      <category>programming</category>
    </item>
    <item>
      <title>Mí primer empleo como desarrollador</title>
      <dc:creator>Steven Lozano</dc:creator>
      <pubDate>Tue, 02 Aug 2022 12:54:00 +0000</pubDate>
      <link>https://forem.com/stevendev/mi-primer-empleo-como-desarrollador-1kk1</link>
      <guid>https://forem.com/stevendev/mi-primer-empleo-como-desarrollador-1kk1</guid>
      <description>&lt;p&gt;Luego de algunas semanas con poco tiempo para dedicarme a escribir, por fin puedo ajustar mis horarios para hacerlo. Entré hace ya un par de meses a la universidad y me costó un poco volver al ritmo de estudiar y trabajar, pero creo que ya puedo sacar unos espacios para continuar escribiendo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Primer encuentro con la programación
&lt;/h3&gt;

&lt;p&gt;Mi inicio en el mundo del desarrollo comenzó hace ya unos 7 años, donde pude entrar a una institución pública en Colombia llamada Servicio Nacional de Aprendizaje en la carrera de tecnología en análisis y desarrollo de sistemas de información, con una duración de 2 años. El aprendizaje se enfocó en torno a un proyecto que fue desarrollado durante toda la carrera, siguiendo casi todos los pasos de desarrollo de software, desde el levantamiento de requerimientos hasta las pruebas del producto final. La metodología me pareció muy buena, pero hubo un error que considero importante y fue que las bases de programación la enseñaron casi al final de la carrera, haciendo que no se desarrollara muy bien esa habilidad de tomar un problema, pensar una solución y transmitirlo en un lenguaje de programación.&lt;/p&gt;

&lt;h3&gt;
  
  
  Me gradué y ¿ahora qué sigue?
&lt;/h3&gt;

&lt;p&gt;Luego de esos 2 años de estudio, tuve una temporada más o menos de 3 años trabajando en empleos sin ninguna relación al desarrollo de software, pero seguí con mi obstinación de primero aprender bien a programar y segundo conseguir mi primer empleo. Esto me llevó a seguir cursos gratuitos de bases de programación, donde pude realmente entender muchas cosas en las cuales tenía problemas y que no me permitían avanzar más allá de copiar un código de internet e intentar de que funcione. Luego de comenzar a entender un poco más estos conceptos, me aventuré a comprar un curso de angular el cual pude culminar y después hice un pequeño proyecto de práctica aplicando lo aprendido, que considero me ayudó mucho a seguir fortaleciendo mis bases de programación.&lt;/p&gt;

&lt;h3&gt;
  
  
  Segundo encuentro con la programación
&lt;/h3&gt;

&lt;p&gt;Pasan estos 3 años entre trabajo y destellos aprendizaje autónomo, pero seguía sintiendo que no sabía suficiente, que me faltaba algo. Esto me llevó a inscribirme en mi primer universidad a estudiar ingeniería de sistemas, en la cual cursé 4 semestres y considero que al tener ya cierto conocimiento previo, me permitió aprender de manera mucho más fácil la programación orientada a objetos y también las estructuras de datos, logrando así llevarme un poco más adelante y darme ciertas herramientas que antes no tenía. En los últimos 2 semestres me pude dedicar completamente al estudio, porque por motivos de pandemia me quedé sin empleo que al final de cuentas me dio más tiempo para seguir aprendiendo, por ejemplo si no entendía en clase que era polimorfismo, pues luego iba y buscaba documentación y videos para así no dejar el concepto sin entender. Ya que tenía mucho tiempo libre, también me compré un curso de react porque me llamaba mucho la atención y comencé aprenderlo en paralelo junto con lo que aprendía en la universidad. Y una vez terminado el curso, decidí aplicar los conocimientos adquiridos &lt;a href="https://pokedex-app-sla.herokuapp.com/pokedex"&gt;desarrollando una pokédex&lt;/a&gt; con la api de pokémon, este era un proyecto que quería hacer para practicar hasta conseguir empleo y no echar a la basura todo lo aprendido(Solo pude terminar un módulo porque conseguí empleo y no pude continuar con el resto).&lt;/p&gt;

&lt;h3&gt;
  
  
  Primer empleo
&lt;/h3&gt;

&lt;p&gt;Buscando empleos, ví uno que pedía un ingeniero desarrollador con tecnologías que yo sabía y sin ninguna duda envíe mi CV, aún sabiendo que no cumplía con el requisito de ser ingeniero, pero siempre pensé que lo peor que podía pasar era que simplemente no me contestaran y debía seguir enviando CV. De este empleo me llamaron porque también requerían un perfil de desarrollador junior y después de un proceso de selección, pude entrar a la empresa y es en la cual trabajo hasta el día de hoy después de 14 meses.&lt;/p&gt;

&lt;h3&gt;
  
  
  A mi yo del pasado le diría
&lt;/h3&gt;

&lt;p&gt;Para concluir, quiero poner algunos consejos que no considero como verdad absoluta, pero que si me hubiese servido que alguien me los hubiera dicho al empezar en este camino de aprendizaje:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;No existe un camino único para aprender a programar, intenta siempre ir adaptándolo teniendo en cuenta tu modo de aprendizaje, capacidad económica y  tiempo disponible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No te desmotives si llevas tiempo tratando de conseguir un empleo como desarrollador, sigue aprendiendo y fortalece todas tus habilidades.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Aplica a un empleo, no importa si no cumples con algún requisito, es muy probable que te acepten y te enseñen lo que te haga falta.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concéntrate en aprender las bases de programación en un lenguaje que te llame la atención.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Aplica todo lo que aprendes en un proyecto personal y experimenta tratando de descubrir cosas nuevas.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;¿Qué consejo le darías a tu yo que recién empieza?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>spanish</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Mi primer blog</title>
      <dc:creator>Steven Lozano</dc:creator>
      <pubDate>Tue, 21 Jun 2022 16:46:00 +0000</pubDate>
      <link>https://forem.com/stevendev/mi-primer-blog-3k6p</link>
      <guid>https://forem.com/stevendev/mi-primer-blog-3k6p</guid>
      <description>&lt;p&gt;En este primer post quiero dar a conocer un poco de mí en cuanto al ámbito profesional, contando que hago, donde trabajo, en que tecnologías tengo experiencia y cuales estoy estudiando actualmente. Y por último, explicar las razones por las cuales decidí realizar este blog y en que dirección lo quiero enfocar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Presentación&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Me presento, mi nombre es Steven Lozano Astudillo, soy desarrollador junior en Salud Electrónica. Estudié hace aproximadamente 5 años una tecnología en análisis y desarrollo de sistemas de información en una institución pública de Colombia llamada SENA, donde me gradué, pero tuve dificultades para encontrar mi primer empleo como desarrollador, me pasé prácticamente 4 años intentándolo, hasta que apliqué a una oferta publicada por mi actual empresa y comencé por fin a trabajar como desarrollador desde hace 1 año. Para la historia de cómo encontré mi primer empleo, voy a realizar un post solo para eso.&lt;br&gt;
Durante este año he trabajado tanto frontend con angular, como backend con nodejs. También llevo buen tiempo estudiando y practicando react por mi parte.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Motivaciones&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lo que me llevó a comenzar este blog no fue una sino varias razones:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La principal razón es enseñar para aprender. Desde hace mucho tengo claro que la mejor forma de aprender es enseñando ya que debes entender muy bien el tema para poder transmitirlo y que las personas te entiendan. Con esto consigo dos cosas importantes: aprender mejor y compartir mi conocimiento.&lt;/li&gt;
&lt;li&gt;Mejorar mi capacidad de escribir es otro motivo importante. Como bien sabemos en este mundo digital, escribir se vuelve una skill necesaria. Probablemente en este primer post tengo mil errores, pero por eso lo hago, para aprender y mejorar día a día.&lt;/li&gt;
&lt;li&gt;Mi aprendizaje en nextjs. Actualmente estoy haciendo mi web personal y no quería simplemente poner mi información y ya, sino ir más allá e integrar un blog. Esto lo veo como un ejercicio interesante, que me va a permitir mejorar mis skills con la tecnología.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dirección&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Inicialmente la dirección que voy a darle al blog, va a ser el compartir lo que sé y lo que iré aprendiendo en el camino, relacionado al desarrollo de software y todo lo que deriva de este. Tal vez en un futuro considere agregar posts relacionados a videojuegos, pero es algo que a corto plazo no pienso hacer.&lt;/p&gt;

&lt;p&gt;Eso es todo lo que quería abarcar en este blog, el siguiente posiblemente sea el &lt;a href="https://dev.to/stevenlz/mi-primer-empleo-como-desarrollador-1kk1"&gt;cómo encontré mi primer empleo como desarrollador&lt;/a&gt; y todo el recorrido desde que comencé a estudiar.&lt;/p&gt;

&lt;p&gt;Muchas gracias por leer este post. Hasta una próxima ocasión.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/Y4i5VX3WsSRtm/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/Y4i5VX3WsSRtm/giphy.gif" alt="Heart coffe gif" width="250" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>spanish</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
