【问题标题】:Iterating through an array of objects and getting the next name property遍历对象数组并获取下一个名称属性
【发布时间】:2021-07-06 15:50:03
【问题描述】:

我将如何迭代这个数组:

const data = [
    {
        name: "Punnerrukset",
        sarjat: "3",
        videoId: "-Mbr55h3BeQ",
    },
    {
        name: "Penkkipunnerrus",
        sarjat: "3",
        videoId: "-6oBbHy_zjM",
    },
    {
        name: "Pystypunnerrus",
        sarjat: "3",
        videoId: "2yjwXTZQDDI",
    },
];

我已经实现了一个 FlatList 来呈现数据,并在每个 react-native-snap-carousel 幻灯片上显示数据中的“名称”属性。如果我想在对象数组中显示下一个 name 属性怎么办。因此,例如,当前幻灯片显示“Punnerrukset”,然后会有一个段落“下一个:Penkkipunnerrus”,然后在下一张幻灯片(Penkkipunnerrus)上会显示“下一个:“Pystypunnerrus”等等......希望你明白了。提前非常感谢你!

【问题讨论】:

    标签: javascript arrays reactjs react-native


    【解决方案1】:

    您可以为此做的是,假设您的 currentIndex 为 0。 然后你的 data[currentIndex+1].name 将具有您需要展示的价值。当您位于最后一个索引时,即currentIndex === data.length - 1,那么您的下一个值将位于索引 0;

    所以你的 nextValue 变成:

     nextValue = data[( currentIndex + 1 ) % data.length].name;
    

    【讨论】:

      【解决方案2】:

      使用for…in 循环。 for…of 在您只想使用数组中的单个元素时很有帮助,但这将允许您获取相对于当前元素的元素(在本例中为 index+1);

      for(const i in data) {
      let vid = data[i];
      let nextVid = data[parseInt(i)+1];
      }
      

      在第一次迭代中,vid

      {
              name: "Punnerrukset",
              sarjat: "3",
              videoId: "-Mbr55h3BeQ",
          }
      

      nextVid

      {
              name: "Penkkipunnerrus",
              sarjat: "3",
              videoId: "-6oBbHy_zjM",
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-04
        • 2010-12-24
        • 2021-12-21
        • 2022-10-19
        • 1970-01-01
        相关资源
        最近更新 更多