javascript 从嵌套数组中的最后一个索引抓取对象值

sg3maiej  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(154)

我正在用react做一个食谱应用程序,并在页面底部添加了一个加载更多结果的按钮。我有一个看起来像这样的数据结构:

const data = [
  [_links: {...}, hits:{...}],
  [_links: {...}, hits:{...}],
  [
    _links: {
      next: {
        title: "Next",
        href: "*endPoint*"
      }
    },
    hits: {...}
  ]
]

当单击组件底部的按钮时,它会将新获取的数据与前一次获取的数据一起添加到数据数组中。我想从数据数组中的最后一个数组中获取嵌套在_links对象中的href。
我使用一个变量来获取它,如下所示:

const nextPage = data[data.length - 1]._links.next.href

当我控制台记录nextPage时,我得到了我所期望的,但我一直得到Uncaught TypeError: Cannot read properties of undefined (reading '_links'),这破坏了页面。
从数据数组的最后一个数组中获取href的正确方法是什么?

hrysbysz

hrysbysz1#

data是对象数组的数组,
你可以使用Array.prototype.flat()来获得一级数组,然后使用Array.prototype.at()来获得数组的最后一个索引:

const data = [
  [{_links: {}, hits:{}}],
  [{_links: {}, hits:{}}],
  [{
    _links: {
      next: {
        title: "Next",
        href: "*endPoint*"
      }
    },
    hits: {}
  }]
]

console.log(data.flat().at(-1)._links.next.href);

Array.prototype.at()
Array.prototype.flat()

vxf3dgd4

vxf3dgd42#

好了,你所要做的就是用现有的数据结构来取消时间顺序

相关问题