フラットな階層を持つオブジェクトに対してファジー検索を実行したいと思います。 Fuse.jsのデモページで、オブジェクト内で探すキー/キーを指定する必要があります。残念ながら私は特定の識別子を持っていません。Fuse.js:オブジェクトのような配列のファジー検索
Fuse.jsデモ:
var books = [{
title: "Old Man's War",
author: {
firstName: "John",
lastName: "Scalzi"
}
}];
var fuse = new Fuse(books, { keys: ["title", "author.firstName"] });
マイセットアップ:
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",
は、あなたにこのワットをゲルションありがとうございましたork。私は私のオブジェクトのすべてのキーを取得します。残念ながら、私はオブジェクトの代わりに配列で使用する必要があります。 GitHub APIは、JSONオブジェクトのみを返します。 – marcobiedermann
@marcobiedermannあなたが 'Object.keys(data)'を与えた例を使うと、 '[100、1234、+1、 - 1]'が返されます。それはあなたが必要とするものではありませんか? –
はい、あなたのコメントは正しいです。しかし、私が言及したように、Fuse.jsは配列を検索する必要があります。 GitHubはObjectを返します。 – marcobiedermann