Давайте пройдемся по нему:
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 синтаксисом c сахаром (в частности, стрелочными функциями ), мы можем сделать код функции немного чище:
var response = JSON.parse(responseBody);
var names = reponse.entries.map(entry => entry.accessible_by.name);
console.log(names);