根据键值获取JSON对象

时间:2020-04-25 17:27:46

标签: javascript arrays json fetch key-value

这段代码在获取和呈现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 :(得分:0)

理想的情况是使用GraphQL,因此您仅根据自己的条件获取所需的数据字段,在这种情况下,更改getListOfNames函数以仅在person.gender符合您的条件时输出一个人之间没有区别。或在将所有人全部获取之后,将经过过滤的人员传递给它

答案 1 :(得分:0)

如果您想返回过滤后的结果,则必须将api端点配置为接受过滤器。否则,您将过滤渲染。

使用下划线,您可以_.where(响应,{性别:“男性”})

相关问题