Как искать во вложенном словаре и не заботиться о ключе верхнего уровня - PullRequest
0 голосов
/ 19 февраля 2020

Итак, я использую lunr. js в своем приложении Jekyll для реализации функции поиска, и результаты возвращаются правильно. Цель состоит в том, чтобы затем отобразить список результатов в браузере.

Здесь я получаю результаты, а затем передаю их забавному c, который обрабатывает манипуляции с DOM.

var results = idx.search(searchTerm); // Get lunr to perform a search
displaySearchResults(results, window.store);

Журнал console.log(window.store); выглядит следующим образом:

"python-2019-03-23-welcome-to-jekyll-html": Object { title: "test", category: "Python", url: "/python/2019/03/23/welcome-to-jekyll.html" }

Первый ключ python-2019-03-23-welcome-to-jekyll-html не имеет значения, так как он будет меняться в зависимости от количества сообщений. Как я могу получить значения Object{}?

Любой совет будет оценен. Я довольно новичок в JS, поэтому, если это плохо сформулировано, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Вы берете первый ключ в window.store, а затем можете получить нужные значения

const { title, category, url } = window.store[Object.keys(window.store)[0]];
0 голосов
/ 19 февраля 2020

Вы можете использовать Object.values() для доступа только к значениям объекта. Пример:

const myObj = {a: 1, b: 2}
Object.values(myObj)  // => [1, 2]
...