首页 > 解决方案 > 如何在对象中的数组中获取嵌套数组中的数据

问题描述

我想在 Data 数组中获取一些数据

我也使用新的 Array 类型的东西,但不是如何获得的东西

const Data = [
      {
        title: "About me",
        subtitle: "for more details",
        description:
          "Lorem, ipsum dolor sit amet consectetur adipisicing elit.",
  },

  {
    progressBar_forntend: [
      {
        progress_title: "html",
        width: "85%",
      },
      {
        progress_title: "css",
        width: "72%",
      },
    ],
  },
];

我想要这种类型的数据

Data.map((e)=>{
console.log(e.progressBar_forntend.progress_title)
})

但不是工作

我需要使用map方法获取数据

标签: javascriptarrays

解决方案


你最外面的数组有两个对象,一个没有,一个有“progressBar_forntend”。因此,我首先过滤具有“progressBar_forntend”的对象。其次,“progressBar_forntend”本身就是一个数组。最后我flat()用来展平嵌套的标题数组。

const Data = [{
    title: "About me",
    subtitle: "for more details",
    description: "Lorem, ipsum dolor sit amet consectetur adipisicing elit.",
  },
  {
    progressBar_forntend: [{
        progress_title: "html",
        width: "85%",
      },
      {
        progress_title: "css",
        width: "72%",
      }
    ]
  }
];


let filtered = Data.filter(dataitem =>
  Object.keys(dataitem).includes('progressBar_forntend'));

result = filtered.map(item =>
  item.progressBar_forntend.map(item => item.progress_title));

result = result.flat();

console.log(result);


推荐阅读