Estoy estudiando Javascript y tratando de hacer que la función Map imprima solo el nombre. Intento hacer eso pero no lo logro. Espero encontrar una solución para usted. Gracias
const x = [{ a: { name: "X", age: "25" }, b: { name: "Y", age: "30" } }] Object.values(x).map((el) => { console.log(Object.values(el).map((el2) => { el2 })) })No devuelve ningún valor en su segundo mapa.
Devuelve el nombre y funcionaría:
const x = [{ a: { name: "X", age: "25" }, b: { name: "Y", age: "30" } }] x.forEach((el) => { console.log(Object.values(el).map(({ name }) => name)) })Nota: reemplace su primer mapa por forEach, es más apropiado
.map() es mapear los datos en una nueva matriz. Necesitas .forEach() .
Ya que tienes una variedad de objetos. Y cada objeto tiene varias claves, puede usar Object.keys() para los objetos internos.
const x = [{ a: { name: "X", age: "25" }, b: { name: "Y", age: "30" } }] x.forEach((el) => { let keys = Object.keys(el); //console.log(keys); keys.forEach((innerKey) => { console.log(el[innerKey].name); }); })