Ich möchte eine unscharfe Suche auf einem Objekt mit einer flachen Hierarchie durchführen. Auf der Demoseite von Fuse.js müssen Sie einen Schlüssel angeben, nach dem im Objekt gesucht werden soll. Leider habe ich keine spezifische Kennung.Fuse.js: Unscharfe Suche in Array wie Objekt
Fuse.js Demo:
var books = [{
title: "Old Man's War",
author: {
firstName: "John",
lastName: "Scalzi"
}
}];
var fuse = new Fuse(books, { keys: ["title", "author.firstName"] });
Mein Setup:
const data = {
"100": "https://assets-cdn.github.com/images/icons/emoji/unicode/1f4af.png?v6",
"1234": "https://assets-cdn.github.com/images/icons/emoji/unicode/1f522.png?v6",
"+1": "https://assets-cdn.github.com/images/icons/emoji/unicode/1f44d.png?v6",
"-1": "https://assets-cdn.github.com/images/icons/emoji/unicode/1f44e.png?v6"
};
const fuse = new Fuse(data, { keys: ??? });
fuse.search('+1'); // should return "https://assets-cdn.github.com/images/icons/emoji/unicode/1f44d.png?v6",
Danke Gershon, diese w Ork. Ich bekomme alle Schlüssel meines Objekts. Leider muss ich in Array statt eines Objekts verwenden. Die GitHub-API gibt nur ein JSON-Objekt zurück. – marcobiedermann
@marcobiedermann mit dem Beispiel, das Sie angegeben haben, "Object.keys (data)" sollte '[100, 1234, +1, - 1]' zurückgeben. Brauchst du das nicht? –
Ja, Ihr Kommentar ist richtig. Aber wie gesagt, Fuse.js benötigt ein Array, um zu suchen. GitHub gibt nur ein Objekt zurück. – marcobiedermann