1 回答
TA贡献1813条经验 获得超2个赞
让我们来看看它:
var response = JSON.parse(responseBody);
JSON.parse()
正在将 JSON 响应作为字符串,并将其转换为 JS 对象,然后将其存储在response
.
response.map(...)
该map()
函数在数组上调用,并将函数作为参数。它会为调用它的数组中的每个元素调用一次您提供的函数。
对于您的特定情况,我们需要稍微修改一下,因为response
是一个对象,而不是数组,并且您之后的值name
嵌套在 的entries
数组中response
。为了解决这个问题,我们将map()
直接调用嵌套数组,并将其设置为一个新变量来存储结果,如下所示:
var names = response.entries.map(...);
现在,我们可以传递map()
一个函数,该函数将从条目数组中的每个元素中提取名称。我们的函数需要接受数组元素作为参数,并返回提取的名称,以便map()
可以将其添加到它正在创建的新数组中。
function(entry) { return entry.accessible_by.name; }
最后,我们得到这样的结果:
var response = JSON.parse(responseBody);
var names = response.entries.map(function(entry) {
return entry.accessible_by.name;
});
console.log(names);
这会将一组名称输出到您的浏览器控制台。["Test", ...]
奖励:使用一点 JavaScript 语法糖(特别是箭头函数),我们可以使函数代码更简洁:
var response = JSON.parse(responseBody);
var names = reponse.entries.map(entry => entry.accessible_by.name);
console.log(names);
添加回答
举报