我想對平面層次結構的對象執行模糊搜索。在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",
謝謝葛森,該W掃。我得到了我的對象的所有鍵。不幸的是我不得不在Array中使用而不是Object。 GitHub API只返回一個JSON對象。 – marcobiedermann
@marcobiedermann使用你給出的例子'Object.keys(data)'應該返回'[100,1234,+1, - 1]'。這不是你需要的嗎? –
是的,您的評論是正確的。但正如我所提到的,Fuse.js需要一個數組來搜索。 GitHub只是返回一個Object。 – marcobiedermann