0

我正在使用fuse.js模糊搜索看起来像这样的 json 数据集:

const dataSet = [
    {
      title: "a list",
      cards: [
        {
          title: "a card",
        },
        {
          title: "another card",
        },
        {
          title: "a third card",
        },
      ],
    },
...
];

当我搜索卡片标题时:

const fuse = new Fuse(dataSet, { keys: ['cards.title']})
console.log(fuse.search("a third card"))

返回包含卡片的列表

{
   title: "a list",
   cards: [
      {id: 1, title: "a card"},
      ...
   ]
}

我希望数据返回标题为“第三张卡”的特定卡。有什么办法可以做到这一点吗?

我查看了文档,找到了一个getFn可以完成这项工作的选项,但我无法让它工作。我也知道我可以通过展平我的对象来实现这一点,但我不想这样做,因为它增加了我的用例的复杂性。

4

1 回答 1

1

听起来您可以将选项设置includeMatchestrue. 这也将为您提供在嵌套子数组中匹配的确切项目。

于 2020-06-24T18:22:54.970 回答