<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Wilder Rincon - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Wilder Rincon - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 08:28:25 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/author/wildsrincon/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 30 recursos gratuitos para ayudarte a aprender los fundamentos de JavaScript ]]>
                </title>
                <description>
                    <![CDATA[ Si estás aprendiendo JavaScript, lo más probable es que hayas oído lo importante que es aprender los fundamentos. El problema es que no estás seguro de cuáles son los fundamentos. Y, con miles de recursos en Internet, ¿por dónde debo empezar? En un episodio de Syntax [https://syntax.fm/show/162/the-fundamentals-js], Wes y Scott ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/30-recursos-gratuitos-para-ayudarte-a-aprender-los-fundamentos-de-javascript/</link>
                <guid isPermaLink="false">604d7e0bc2765408ef8de283</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Wilder Rincon ]]>
                </dc:creator>
                <pubDate>Fri, 30 Apr 2021 05:24:04 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2021/04/codingmyths-1-.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Si estás aprendiendo JavaScript, lo más probable es que hayas oído lo importante que es aprender los fundamentos.</p><p>El problema es que no estás seguro de cuáles son los fundamentos. Y, con miles de recursos en Internet, ¿por dónde debo empezar?</p><p>En un episodio de <a href="https://syntax.fm/show/162/the-fundamentals-js">Syntax</a>, Wes y Scott hacen un gran trabajo cubriendo los fundamentos de JavaScript. Repasan los conocimientos básicos de JS que utilizamos cada día en mi trabajo como desarrollador JavaScript.</p><p>Mientras escuchaba el episodio, pensé en lo útil que habría sido para mí, como principiante, tener una lista curada de recursos para aprender cada concepto fundamental. Así que la he creado para ti.</p><p>Abajo están los fundamentos de JavaScript que Wes y Scott listaron, junto con mis recursos favoritos (y 100% gratuitos) para aprender cada uno.</p><h2 id="variables-scoping">Variables + Scoping</h2><p><a href="https://scotch.io/courses/10-need-to-know-javascript-concepts/declaring-javascript-variables-var-let-and-const">Declaración de variables en JavaScript: var, let y const</a></p><p><a href="https://wesbos.com/let-vs-const/">ES6 variables let VS const</a></p><p><a href="https://medium.com/@josephcardillo/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe">La diferencia entre el ámbito global y de bloque de una función en JavaScript</a></p><h2 id="tipos">Tipos</h2><p><a href="https://www.udacity.com/course/intro-to-javascript--ud803">Introducción a JavaScript, Lección 1: Tipos de datos y variables</a></p><p><a href="https://www.digitalocean.com/community/tutorials/understanding-data-types-in-javascript">Entendiendo los Tipos de Datos en JavaScript</a></p><h2 id="objetos">Objetos</h2><p><a href="https://btholt.github.io/intro-to-web-dev-v2/objects-and-arrays">Introducción al Desarrollo Web: Objetos</a></p><p><a href="https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/objects-classes/ch3.md">You Don't Know JS: Objetos y Clases</a></p><p><a href="https://www.youtube.com/watch?v=YnfwDQ5XYF4">Referencia vs. Copia</a></p><h2 id="funciones">Funciones</h2><p><a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions">Escribir codigo JavaScript Reutilizable con Funciones</a></p><p><a href="https://btholt.github.io/intro-to-web-dev-v2/functions-and-scope">Introducción al Desarrollo Web: Funciones y Alcance</a></p><p><a href="https://wesbos.com/arrow-functions/">Funciones de Flecha</a></p><p><a href="https://www.digitalocean.com/community/tutorials/how-to-use-object-methods-in-javascript">Cómo usar métodos de objetos en JavaScript</a></p><h2 id="el-dom">El DOM</h2><p><a href="https://dev.to/karaluton/what-exactly-is-the-dom-jhg">¿Qué es exactamente el DOM?</a></p><p><a href="https://eloquentjavascript.net/14_dom.html">Eloquent JavaScript, Capítulo 14: El DOM</a></p><h2 id="prototipos-this">Prototipos + this</h2><p><a href="https://tylermcginnis.com/beginners-guide-to-javascript-prototype/">Una guía para principiantes sobre prototipos en JavaScript</a></p><p><a href="https://www.taniarascia.com/this-bind-call-apply-javascript/">Entendiendo This, Bind, Call, y Apply en JavaScript</a></p><h2 id="eventos">Eventos</h2><p><a href="https://guide.freecodecamp.org/javascript/callback-functions/">Funciones Callback</a></p><p><a href="https://www.youtube.com/watch?v=8aGhZQkoFbQ">¿Qué es el bucle de eventos?</a></p><p><a href="https://javascript.info/bubbling-and-capturing">Burbujeo y Captura</a></p><h2 id="arreglos">Arreglos</h2><p><a href="https://syntax.fm/show/043/20-javascript-array-and-object-methods-to-make-you-a-better-developer">Métodos de arreglos y objetos en JavaScript para que seas un mejor desarrollador</a></p><p><a href="https://dev.to/frugencefidel/10-javascript-array-methods-you-should-know-4lk3">10 métodos de arreglos en JavaScript que deberías conocer</a></p><h2 id="control-de-flujo">Control de flujo</h2><p><a href="https://www.codecademy.com/learn/introduction-to-javascript/modules/learn-javascript-loops">Aprender JavaScript: Ciclos</a></p><p><a href="https://www.youtube.com/watch?v=24Wpg6njlYI">Bucles For</a></p><p><a href="https://tylermcginnis.com/async-javascript-from-callbacks-to-promises-to-async-await/">JavaScript asíncrono: De los Callbacks, a las Promesas, al Async/Await.</a> Este artículo de Tyler McGinnes es el mejor artículo sobre async JS que he leído.</p><p><a href="https://btholt.github.io/intro-to-web-dev-v2/programming-fundamentals">Introducción al desarrollo web: Flujo de control</a></p><h2 id="seguridad-y-accesibilidad">Seguridad y Accesibilidad<br></h2><p><a href="https://portswigger.net/web-security/cross-site-scripting">XSS y HTML interno</a></p><p><a href="https://www.udacity.com/course/web-accessibility--ud891">Accesibilidad Web</a></p><h2 id="escribir-c-digo-limpio">Escribir código limpio</h2><p><a href="https://github.com/ryanmcdermott/clean-code-javascript">Libro de Código Limpio (enlazado desde Syntax)</a></p><h2 id="cosas-que-deber-as-saber-pero-no-necesariamente-dominar-">Cosas que deberías saber, pero no necesariamente dominar:</h2><p><a href="https://www.freecodecamp.org/news/how-to-use-es6-modules-and-why-theyre-important-a9b20b480773/">Módulos ES6</a></p><p><a href="https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-closure-b2f0d2152b36">Clausuras</a></p><p>Como señalan Wes y Scott, construir proyectos reales con JavaScript es lo que cimentará estos fundamentos que has leído. Asegúrate de construir proyectos a medida que avanzas. </p><p>Si te sientes atascado en cómo pasar de los tutoriales a la construcción de proyectos, echa un vistazo a este artículo que escribí.</p><p>Si tienes más recursos para compartir o comentarios sobre este post, no dudes en tuitearme.</p><p>Estoy creando un curso gratuito de JavaScript para principiantes. Inscríbete para que te avisen cuando se lance y te lo envíen 100% gratis a tu bandeja de entrada.</p><p>Traducido del artículo de <a href="https://www.freecodecamp.org/news/author/madisonkanna/">Madison Kanna</a> - <a href="https://www.freecodecamp.org/news/30-free-resources-for-learning-javascript-fundamentals/">30 Free Resources To Help You Learn JavaScript Fundamentals</a></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Tutorial de Arreglos de Objetos en JavaScript - Cómo crear, actualizar y hacer un ciclo a través de los objetos usando los métodos de arreglos en JS ]]>
                </title>
                <description>
                    <![CDATA[ En promedio, trabajo con datos JSON 18 veces a la semana. Y todavía tengo que buscar en Google formas específicas de manipularlos casi siempre. ¿Qué si hubiera una guía definitiva que siempre pudiera darte la respuesta? En este artículo, te mostraré lo básico de trabajar con arreglos de objetos en ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/arreglos-de-objetos-en-javascript-actualizar/</link>
                <guid isPermaLink="false">5fdd584f8c7cd154bb97a66e</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Wilder Rincon ]]>
                </dc:creator>
                <pubDate>Thu, 31 Dec 2020 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2020/12/arrays_methods.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>En promedio, trabajo con datos JSON 18 veces a la semana. Y todavía tengo que buscar en Google formas específicas de manipularlos casi siempre. ¿Qué si hubiera una guía definitiva que siempre pudiera darte la respuesta?</p><p>En este artículo, te mostraré lo básico de trabajar con arreglos de objetos en JavaScript.</p><p>Si alguna vez has trabajado con una estructura JSON, has trabajado con objetos en JavaScript. Literalmente. JSON significa JavaScript Object Notation.</p><p>Crear un objeto es tan simple como esto:</p><pre><code class="language-js">{
  "color": "morado",
  "tipo": "minivan",
  "registroDia": new Date('2012-02-03'),
  "capacidad": 7
}
</code></pre><p>Este objeto representa un carro. Puede haber muchos tipos y colores de carros, cada objeto representa un carro específico.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-17.png" class="kg-image" alt="imagen-17" width="124" height="68" loading="lazy"></figure><p>Ahora, la mayoría de las veces se obtienen datos como estos de un servicio externo. Pero a veces necesitas crear objetos y sus arreglos manualmente. Como hice cuando estaba creando esta tienda electrónica:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-18.png" class="kg-image" alt="imagen-18" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-18.png 600w, https://www.freecodecamp.org/espanol/news/content/images/size/w1000/2020/12/imagen-18.png 1000w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-18.png 1118w" sizes="(min-width: 720px) 720px" width="1118" height="513" loading="lazy"></figure><p>Considerando que cada elemento de la lista de categorías se ve así en HTML:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-19.png" class="kg-image" alt="imagen-19" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-19.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-19.png 696w" width="696" height="322" loading="lazy"></figure><p>No quería que este código se repitiera 12 veces, esto lo haría insostenible.</p><h3 id="creando-un-arreglo-de-objetos">Creando un arreglo de objetos</h3><p>Pero volvamos a los carros. Echemos un vistazo a este conjunto de carros:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-20.png" class="kg-image" alt="imagen-20" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-20.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-20.png 800w" sizes="(min-width: 720px) 720px" width="800" height="111" loading="lazy"></figure><p>Podemos representarlo como un arreglo de esta manera:</p><pre><code class="language-js">let carros = [
  {
    "color": "morado",
    "tipo": "minivan",
    "registroDia": new Date('2017-01-03'),
    "capacidad": 7
  },
  {
    "color": "rojo",
    "tipo": "camioneta",
    "registroDia": new Date('2018-03-03'),
    "capacidad": 5
  },
  {
    ...
  },
  ...
]
</code></pre><p>Los arreglos de objetos no permanecen iguales todo el tiempo. Casi siempre necesitamos manipularlos. Así que vamos a ver cómo podemos añadir objetos a un arreglo ya existente.</p><h3 id="a-adir-un-nuevo-objeto-al-principio-array-unshift">Añadir un nuevo objeto al principio - Array.unshift</h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-21.png" class="kg-image" alt="imagen-21" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-21.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-21.png 1000w" sizes="(min-width: 720px) 720px" width="1000" height="180" loading="lazy"></figure><p>Para añadir un objeto en la primera posición, use <code>Array.unshift</code>.</p><pre><code class="language-js">let carro = {
  "color": "rojo",
  "tipo": "cabrio",
  "registroDia": new Date('2016-05-02'),
  "capacidad": 2
}
carros.unshift(carro);
</code></pre><h3 id="agregar-un-nuevo-objeto-al-final-del-arreglo-array-push">Agregar un nuevo objeto al final del arreglo - Array.push</h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-22.png" class="kg-image" alt="imagen-22" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-22.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-22.png 1000w" sizes="(min-width: 720px) 720px" width="1000" height="180" loading="lazy"></figure><p>Para añadir un objeto en la última posición, use <code>Array.push</code>.</p><pre><code class="language-js">let carro = {
 "color": "rojo",
 "typo": "cabrio",
 "registroDia": new Date('2016-05-02'),
 "capacidad": 2
}
carros.push(carro);
</code></pre><h3 id="agregar-un-nuevo-objeto-en-medio-del-arreglo-array-splice">Agregar un nuevo objeto en medio del arreglo - Array.splice</h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-23.png" class="kg-image" alt="imagen-23" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-23.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-23.png 1000w" sizes="(min-width: 720px) 720px" width="1000" height="180" loading="lazy"></figure><p>Para añadir un objeto en el medio, use <code>Array.splice</code>. Esta función es muy útil ya que también puede quitar objetos. Cuidado con sus parámetros:</p><pre><code class="language-js">Array.splice(
  {índice por dónde empezar},
  {cuántos elementos para eliminar},
  {elementos para agregar}
);</code></pre><p>Así que si queremos añadir el Volkswagen Cabrio rojo en la quinta posición, usaríamos:</p><pre><code class="language-js">let carro = {
  "color": "rojo",
  "tipo": "cabrio",
  "registroDia": new Date('2016-05-02'),
  "capacidad": 2
}
carros.splice(4, 0, carro);
</code></pre><h3 id="un-ciclo-a-trav-s-de-un-arreglo-de-objetos">Un ciclo a través de un arreglo de objetos</h3><p>Déjame hacerte una pregunta: ¿Por qué quieres hacer un bucle a través de un arreglo de objetos? La razón por la que pregunto es que el bucle casi nunca es la causa principal de lo que queremos lograr.</p><p>JavaScript proporciona muchas funciones que pueden resolver tu problema sin implementar la lógica en un ciclo general. Echemos un vistazo.</p><h3 id="encuentra-un-objeto-en-una-matriz-por-sus-valores-array-find">Encuentra un objeto en una matriz por sus valores - Array.find</h3><p>Digamos que queremos encontrar un carros que sea rojo. Podemos usar la función <code>Array.find</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-24.png" class="kg-image" alt="imagen-24" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-24.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-24.png 800w" sizes="(min-width: 720px) 720px" width="800" height="230" loading="lazy"></figure><pre><code class="language-js">let carro = carros.find(carro =&gt; carro.color === "rojo");
</code></pre><p>Esta función devuelve el primer elemento coincidente:</p><pre><code class="language-js">console.log(carro);
// salida:
// {
//   color: 'rojo',
//   tipo: 'camioneta',
//   registroDia: 'Sat Mar 03 2018 01:00:00 GMT+0100 (GMT+01:00)',
//   capacidad: 5
// }</code></pre><p>También es posible buscar múltiples valores:</p><pre><code>let carro = carros.find(carro =&gt; carro.color === "rojo" &amp;&amp; carro.tipo === "cabrio");</code></pre><p>En ese caso obtendremos el último carro de la lista.</p><h3 id="obtener-varios-elementos-de-un-arreglo-que-coincidan-con-una-condici-n-array-filter">Obtener varios elementos de un arreglo que coincidan con una condición - Array.filter</h3><p>La función <code>Array.find</code>. devuelve sólo un objeto. Si queremos obtener todos los carros rojos, tenemos que usar el filtro <code>Array.filter</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-25.png" class="kg-image" alt="imagen-25" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-25.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-25.png 800w" sizes="(min-width: 720px) 720px" width="800" height="230" loading="lazy"></figure><pre><code class="language-js">let carrosRojo = carros.filter(carro =&gt; carro.color === "rojo");
console.log(carrosRojo);
// salida:
// [
//   {
//     color: 'rojo',
//     tipo: 'camioneta',
//     registroDia: 'Sat Mar 03 2018 01:00:00 GMT+0100 (GMT+01:00)',
//     capacidad: 5
//   },
//   {
//     color: 'rojo',
//     tipo: 'cabrio',
//     registroDia: 'Sat Mar 03 2012 01:00:00 GMT+0100 (GMT+01:00)',
//     capacidad: 2
//   }
// ]
</code></pre><h3 id="transformar-objetos-de-un-arreglo-array-map">Transformar objetos de un arreglo - Array.map</h3><p>Esto es algo que necesitamos muy a menudo. Transformar un arreglo de objetos en un arreglo de objetos diferentes. Ese es un trabajo para Array.map. Digamos que queremos clasificar nuestros carros en tres grupos basados en su tamaño.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-26.png" class="kg-image" alt="imagen-26" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-26.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-26.png 800w" sizes="(min-width: 720px) 720px" width="800" height="300" loading="lazy"></figure><pre><code class="language-js">let tamaño = carros.map(carro =&gt; {
  if (carro.capacidad &lt;= 3){
    return "pequeño";
  }
  if (carro.capacidad &lt;= 5){
    return "mediano";
  }
  return "grande";
});
console.log(tamaños);
// salida:
// ['grande','mediano','mediano', ..., 'pequeño']
</code></pre><p>También es posible crear un nuevo objeto si necesitamos más valores:</p><pre><code class="language-js">let propiedadesDeCarros = carros.map(carro =&gt; {
 let propiedades = {
   "capacidad": carro.capacidad,
   "tamaño": "grande"
 };
 if (caro.capacidad &lt;= 5){
   propiedades['tamaño'] = "mediano";
 }
 if (caro.capacidad &lt;= 3){
   propiedades['tamaño] = "pequeño";
 }
 return propiedades;
});
console.log(propiedadesDeCarros);
// salida:
// [
//   { capacidad: 7, tamaño: 'grande' },
//   { capacidad: 5, tamaño: 'mediano' },
//   { capacidad: 5, tamaño: 'mediano' },
//   { capacidad: 2, tamaño: 'pequeño' },
//   ...
// ]
</code></pre><h3 id="agregar-una-propiedad-a-cada-objeto-de-un-arreglo-array-foreach">Agregar una propiedad a cada objeto de un arreglo - Array.forEach</h3><p>¿Pero qué pasa si queremos el objeto del carro también? En ese caso podemos mejorar el objeto para que tenga una nueva propiedad de tamaño. Este es un buen caso de uso para la función Array.forEach.</p><pre><code class="language-js">carros.forEach(carro =&gt; {
 carro['pequeño'] = "grande";
 if (carro.capacidad &lt;= 5){
   carro['tamaño'] = "mediano";
 }
 if (carro.capacidad &lt;= 3){
   carro['tamaño'] = "pequeño";
 }
});</code></pre><h3 id="ordenar-un-arreglo-por-una-propiedad-array-sort">Ordenar un arreglo por una propiedad - Array.sort</h3><p>Cuando terminamos de transformar los objetos, normalmente necesitamos clasificarlos de una forma u otra.</p><p>Típicamente, la clasificación se basa en el valor de una propiedad que cada objeto tiene. Podemos usar la función <code>Array.sort</code>, pero necesitamos proveer una función que defina el mecanismo de clasificación.</p><p>Digamos que queremos clasificar los carros en base a su capacidad en orden descendente.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-27.png" class="kg-image" alt="imagen-27" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-27.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-27.png 800w" sizes="(min-width: 720px) 720px" width="800" height="250" loading="lazy"></figure><pre><code class="language-js">let carrosOrdenados = cars.sort((c1, c2) =&gt; (c1.capacidad &lt; c2.capacidad) ? 1 : (c1.capacidad &gt; c2.capacidad) ? -1 : 0);
console.log(carrosOrdenados);
// salidad:
// [
//   {
//     color: 'purple',
//     tipo: 'minivan',
//     registracion: 'Wed Feb 01 2017 00:00:00 GMT+0100 (GMT+01:00)',
//     capacidad: 7
//   },
//   {
//     color: 'red',
//     tipo: 'station wagon',
//     registracion: 'Sat Mar 03 2018 01:00:00 GMT+0100 (GMT+01:00)',
//     capacidad: 5
//   },
//   ...
// ]
</code></pre><p></p><p>El &nbsp;método <code>Array.sort</code> compara dos objetos y pone el primer objeto en segundo lugar si el resultado de la función de clasificación es positivo. Así que puedes mirar la función de clasificación como si fuera una pregunta: ¿Debería el primer objeto ser colocado en segundo lugar?</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-28.png" class="kg-image" alt="imagen-28" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2020/12/imagen-28.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2020/12/imagen-28.png 654w" width="654" height="368" loading="lazy"></figure><p>Asegúrate de añadir siempre el caso por cero cuando el valor comparado de ambos objetos es el mismo para evitar intercambios innecesarios.</p><h3 id="comprobando-si-los-objetos-en-la-matriz-cumplen-una-condici-n-array-every-array-includes">Comprobando si los objetos en la matriz cumplen una condición - Array.every, Array.includes</h3><p><code>Array.every</code> &nbsp;y &nbsp;<code>Array.some</code>, son útiles cuando sólo necesitamos comprobar cada objeto para una condición específica.</p><p>¿Tenemos un cabrio rojo en la lista de carros ? ¿Todos los carros son capaces de transportar al menos 4 personas? O más centrado en la web: ¿Hay algún producto específico en el carro de la compra?</p><pre><code class="language-js">carros.some(carro =&gt; carro.color === "rojo" &amp;&amp; carro.tipo === "cabrio");
// salida: true

carros.every(carro =&gt; carro.capacidad &gt;= 4);
// salida: false</code></pre><p>Puede que recuerdes la función <code>Array.includes</code> que es similar a <code>Array.some</code>, pero funciona sólo para tipos primitivos.</p><h3 id="conclusi-n-">Conclusión...</h3><p>En este artículo, repasamos las funciones básicas que te ayudan a crear, manipular, transformar y hacer un ciclo a través de los arreglos de objetos. Deberían cubrir la mayoría de los casos con los que te tropezarás.</p><p>Si tienes un caso de uso que requiere una funcionalidad más avanzada, echa un vistazo a esta detallada guía de arreglos o visita la referencia de las escuelas W3.</p><p>O póngase en contacto conmigo y prepararé otro artículo :-)</p><p>Traducido del artículo de <a href="https://www.freecodecamp.org/news/author/ondrej/"><strong>Ondrej Polesny</strong></a> - <strong><a href="https://www.freecodecamp.org/news/javascript-array-of-objects-tutorial-how-to-create-update-and-loop-through-objects-using-js-array-methods/">JavaScript Array of Objects Tutorial – How to Create, Update, and Loop Through Objects Using JS Array Methods</a></strong></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
