• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

278
Views
Recorra una matriz de objetos anidados en javascript

Tengo problemas para imprimir objetos que están dentro de una matriz. Cuando estoy iniciando sesión en la consola, esto es lo que obtengo:

 console.log(product.categories)

¿Cómo podría iterar a través de estos objetos anidados donde podría mostrarlos individualmente como

 <ul> <li>Bath</li> <li>/bath/</li> <li>18</li> <li>Shop all</li> <li>/shop-all/</li> <li>23</li> </ul>

Todo el objeto de datos de 'productos' se ve así ingrese la descripción de la imagen aquí

over 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede recorrer los valores de cada objeto en la matriz, crear elementos de lista a partir de cada uno de ellos y agregarlos al elemento de lista.

 let obj = { edges: [ {name: 'Bath', path: '/bath/', entityId: 18}, {name: 'Shop App', path: '/shop-all/', entityId: 23} ] } let ul = document.createElement('ul'); for(const x of obj.edges) for(const textContent of Object.values(x)) ul.append(Object.assign(document.createElement('li'), {textContent})); document.body.append(ul);

over 3 years ago · Juan Pablo Isaza Report

0

2 maneras


Hay 2 soluciones que puedo pensar en este momento.

<Array>.forEach()


Esta solución es la mejor si desea registrar los elementos individuales de la matriz.
Hay una mejor manera de cambiar los elementos de la matriz, pero veamos el ejemplo.

 const arr = [{ name: "Home", path: "/home" }, { name: "Forums", path: "/forums" }]; arr.forEach((value) => { console.log(value); }); // { name: "Home", path: "/home" } // { name: "Forums", path: "/forums" } // You can map it to a new value by doing this const newArr = []; arr.forEach((value) => { newArr.push(value.name); }); console.log(newArr); // ["Home", "Forums"]

<Matriz>.mapa()


Esta es la mejor solución que usaría.
Este método cambia el valor del elemento individual a lo que devuelve en su función.

 const arr = [{ name: "Home", path: "/home" }, { name: "Forums", path: "/forums" }]; const newArr = arr.map((value) => value.name); console.log(newArr); // ["Home", "Forums"] // Notice how the value has changed


La solución

Así es como se verá la solución

 function YourComponent() { const edges = product.categories.edges; const products = edges.map((value) => [value.name, value.path, value.entityId.toString()]); return ( { products.map((data) => { return ( <li>data[0]</li> <li>data[1]</li> <li>data[2]</li> ); }); } ); };
over 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!