代码之家  ›  专栏  ›  技术社区  ›  Darren

定义数组中的数据

  •  1
  • Darren  · 技术社区  · 6 年前

    如何使用存储在数组中的数据 cottageGallery 从这个映射数据?

    const galleryData = components.map(g => {
       return {
          cottageGallery: g.cottageGallery,
          destinationGallery: g.destinationGallery,
          activitiesGallery: g.activitiesGallery,
       }
    })
    

    我以为那只是 const cottageGallery = galleryData.cottageGallery 但这返回未定义。

    4 回复  |  直到 6 年前
        1
  •  1
  •   Paul Fitzgerald    6 年前

    不完全, galleryData 将是一个数组而不是一个对象,因为您使用的是JavaScript map 方法。如果要获取数组的第一项,可以执行以下操作- [0] 是数组的第一项。

    const cottageGallery = galleryData[0].cottageGallery;
    

    记录每个 cottageGallery 你可以使用 forEach 并执行以下操作:

    galleryData.forEach(item => {
     console.log(item.cottageGallery);
    })
    
        2
  •  0
  •   T.J. Crowder    6 年前

    galleryData 是一个 数组 返回的对象 map 回调。所以你会用 galleryData[index].cottageGallery 在哪里 index 在射程之内 0 通过 galleryData.length - 1 (或以各种方式访问数组中的条目,例如 for-of forEach 或者… more here )

        3
  •  0
  •   DSCH    6 年前

    map 将返回一个数组,这样您就不能简单地访问 galleryData.cottageGallery 。你可能想用 .reduce() 在数组中,以便结果可以是您试图创建的对象

        4
  •  0
  •   Shahriat Hossain    6 年前

    还可以使用foreach访问对象数组,如下所示:

    galleryData.forEach(a => {
     console.log(a.cottageGallery);
    })