Я использую 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
, который может помочь , но я не мог заставить его работать. Я также знаю, что могу добиться этого, сглаживая свой объект, но я не хочу этого делать, поскольку это добавляет сложности для моего варианта использования.
1 ответ
Похоже, что вы могли бы сделать, это установить для параметра includeMatches
значение true
. Это также даст вам точный элемент, который был сопоставлен во вложенном подмассиве.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.