如何从特定的 history.location.pathname 获取数组对象

问题描述

我的问题是,当我调用函数 getAllFlashCardsFromQuest() 时,它会调用在所有页面中创建的所有闪存卡,我只想要来自特定路径名的对象,或者一种过滤卡片数组的方法

async function getCards() {
    let cardsValues = await getAllFlashCardsFromQuest() as FlashCard[]
    let cardsFiltered = cardsValues.filter(()=>{
        return history.location.pathname === 'CriaralternativaQuest'
    })
    console.log(cardsFiltered)
    setCards(cardsFiltered)
}

对象看起来像这样:

enter image description here

解决方法

您的代码没有太多上下文,所以我只能提供这么多帮助,但有一件事是肯定的,那就是 history.location.pathname 没有改变,您将它与另一个常量进行比较。所以 cardsFiltered 要么是一个 true 列表,要么是一个 false 列表。

每当您过滤列表时,您都需要获取每个项目或每个项目的属性并将其用于比较。

例如

async function getCards() {
    let cardsValues = await getAllFlashCardsFromQuest() as FlashCard[]
    let cardsFiltered = cardsValues.filter((cardValueItem) => {
        return cardValueItem.pathname === 'CriarAlternativaQuest'
    })
}

问题是您需要弄清楚您需要将 cardsValues 列表中的哪些值或属性与“CriarAlternativaQuest”进行比较