这段代码在获取和呈现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>`;
};
答案 0 :(得分:0)
理想的情况是使用GraphQL,因此您仅根据自己的条件获取所需的数据字段,在这种情况下,更改getListOfNames函数以仅在person.gender符合您的条件时输出一个人之间没有区别。或在将所有人全部获取之后,将经过过滤的人员传递给它
答案 1 :(得分:0)
如果您想返回过滤后的结果,则必须将api端点配置为接受过滤器。否则,您将过滤渲染。
使用下划线,您可以_.where(响应,{性别:“男性”})