1 回答

TA貢獻(xiàn)1813條經(jīng)驗 獲得超2個贊
讓我們來看看它:
var response = JSON.parse(responseBody);
JSON.parse()
正在將 JSON 響應(yīng)作為字符串,并將其轉(zhuǎn)換為 JS 對象,然后將其存儲在response
.
response.map(...)
該map()
函數(shù)在數(shù)組上調(diào)用,并將函數(shù)作為參數(shù)。它會為調(diào)用它的數(shù)組中的每個元素調(diào)用一次您提供的函數(shù)。
對于您的特定情況,我們需要稍微修改一下,因為response
是一個對象,而不是數(shù)組,并且您之后的值name
嵌套在 的entries
數(shù)組中response
。為了解決這個問題,我們將map()
直接調(diào)用嵌套數(shù)組,并將其設(shè)置為一個新變量來存儲結(jié)果,如下所示:
var names = response.entries.map(...);
現(xiàn)在,我們可以傳遞map()
一個函數(shù),該函數(shù)將從條目數(shù)組中的每個元素中提取名稱。我們的函數(shù)需要接受數(shù)組元素作為參數(shù),并返回提取的名稱,以便map()
可以將其添加到它正在創(chuàng)建的新數(shù)組中。
function(entry) { return entry.accessible_by.name; }
最后,我們得到這樣的結(jié)果:
var response = JSON.parse(responseBody);
var names = response.entries.map(function(entry) {
return entry.accessible_by.name;
});
console.log(names);
這會將一組名稱輸出到您的瀏覽器控制臺。["Test", ...]
獎勵:使用一點 JavaScript 語法糖(特別是箭頭函數(shù)),我們可以使函數(shù)代碼更簡潔:
var response = JSON.parse(responseBody);
var names = reponse.entries.map(entry => entry.accessible_by.name);
console.log(names);
添加回答
舉報