在React中从json文件过滤数组

bvn4nwqk  于 4个月前  发布在  React
关注(0)|答案(1)|浏览(57)

我有一个json文件(questions),里面有一个对象数组。
我有一行代码可以完美地过滤这些对象:const allAnswers = questions.filter(q => q.Ending === question).map(q => q.Parsing)
我尝试在该行之前添加一个过滤器,以根据用户输入const qlist = questions.filter(q => q.Group <= level)过滤问题列表此过滤器根本不起作用,它返回一个空数组
它肯定是在查找对象属性“Group”,因为我可以使用questions[1]. Group来控制台记录它。我已经检查过Group和level都是数字。
最烦人的是它确实工作了一次,但我不知道我做了什么。

[
    {
        "Ending": "a",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "a",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "am",
        "Parsing": "singular accusative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "ae",
        "Parsing": "singular genitive",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "ae",
        "Parsing": "singular dative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "a",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "ae",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "ae",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "as",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "arum",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "is",
        "Parsing": "plural dative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "is",
        "Parsing": "plural ablative",
        "POS": "Noun",
        "Group": 1
    },
    {
        "Ending": "us",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "er",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "e",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "er",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "um",
        "Parsing": "singular accusative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "i",
        "Parsing": "singular genitive",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "o",
        "Parsing": "singular dative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "o",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "i",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "i",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "os",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "orum",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "is",
        "Parsing": "plural dative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "is",
        "Parsing": "plural ablative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "um",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "um",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "a",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "a",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "a",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 2
    },
    {
        "Ending": "em",
        "Parsing": "singular accusative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "is",
        "Parsing": "singular genitive",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "i",
        "Parsing": "singular dative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "e",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "i",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "es",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "es",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "es",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "um",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ium",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ibus",
        "Parsing": "plural dative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ibus",
        "Parsing": "plural ablative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ia",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ia",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "ia",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "a",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "a",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "a",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 3
    },
    {
        "Ending": "us",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "us",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "um",
        "Parsing": "singular accusative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "us",
        "Parsing": "singular genitive",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ui",
        "Parsing": "singular dative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ui",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "u",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ua",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ua",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ua",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "us",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "us",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "us",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "uum",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ibus",
        "Parsing": "plural dative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "ibus",
        "Parsing": "plural ablative",
        "POS": "Noun",
        "Group": 4
    },
    {
        "Ending": "es",
        "Parsing": "singular nominative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "es",
        "Parsing": "singular vocative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "em",
        "Parsing": "singular accusative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "ei",
        "Parsing": "singular genitive",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "ei",
        "Parsing": "singular dative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "e",
        "Parsing": "singular ablative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "es",
        "Parsing": "plural nominative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "es",
        "Parsing": "plural vocative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "es",
        "Parsing": "plural accusative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "erum",
        "Parsing": "plural genitive",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "ebus",
        "Parsing": "plural dative",
        "POS": "Noun",
        "Group": 5
    },
    {
        "Ending": "ebus",
        "Parsing": "plural ablative",
        "POS": "Noun",
        "Group": 5
    }
]

字符串

k3fezbri

k3fezbri1#

问题不在于过滤,而在于从参数中获取l值的方式。
useParams返回一个对象,你应该从中提取l的值。例如:

// Note that this way `l` isn't the object, but an attribute of the object
const {l} = useParams();

字符串

相关问题