Извлечение JSON объектов на основе ключевых значений - PullRequest
0 голосов
/ 25 апреля 2020

Этот код отлично справляется со сборкой и рендерингом всего в массиве JSON, но что, если меня интересует только перечисление объектов с определенным значением ключа (например, пол)? Это произойдет во время выборки или рендеринга?

const URL = "https://ghibliapi.herokuapp.com/people";

const main = document.getElementById("main");
main.innerHTML = "<p>Loading...";

fetch(URL).then((response) => response.json()).then((people) => main.innerHTML = getListOfNames(people));

const getListOfNames = (people) => {
  const names = people.map((person) => `<li>${person.name} - ${person.gender} </li>`).join("\n");

  return `<ul>${names}</ul>`;
};

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Вам необходимо настроить конечную точку API для приема фильтров, если вы хотите вернуть отфильтрованные результаты. В противном случае вы бы отфильтровали при рендеринге.

С подчеркиванием вы бы сделали _.where (ответ, {пол: 'мужчина'})

0 голосов
/ 25 апреля 2020

Идеальным вариантом было бы использование GraphQL, поэтому вы выбираете только те поля данных, которые вам нужны, исходя из ваших критериев, в этом случае нет разницы между изменением функции getListOfNames для простого вывода лица, когда его person.gender соответствует вашим критериям или просто передавая ему отфильтрованный массив людей после извлечения их всех

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...