Как мне разрушить этот глубоко вложенный объект? - PullRequest
0 голосов
/ 13 марта 2019

У меня есть эта функция ниже:

const displayUserPhotoAndName = (data) => {
    if(!data) return;

    // add your code here

    clearNotice();
  };

параметр данных является API от https://randomuser.me/api/

Назначение имеет следующие инструкции:

Найдите функцию displayUserPhotoAndName и выполните следующие действия:

  • После первого возврата if (! Data);оператор, который завершает функцию
    , если ожидаемый параметр данных не предоставлен, создайте оператор
    , который деструктурирует параметр данных и получит из него свойство результатов
    ;

  • Создайте второй оператор в следующей строке, который де-структурирует переменную результатов, которую вы только что создали, и получите из нее первый элемент (это массив! См. https://randomuser.me/api/). Ваш элемент деструктурированного массива должен бытьобъявлен как профиль. Он представляет данные профиля для пользователя, полученные из вызова API, который вы хотите отобразить в своем приложении.

Шаг 3 Все еще в пределах displayUserPhotoAndNamefunction:

  • Установите элемент HEADING в вашем приложении, чтобы отображать заголовок, фамилию и имя (в указанном порядке, разделенные одним пробелом) профиля пользователя, возвращаемого API.
  • Установите IMG в своем приложении, чтобы отображать большую фотографию профиля пользователя, возвращенного API.

что я сделал:

const displayUserPhotoAndName = (data) => {
    if(!data) return;

    // add your code here
    const {results} = data.results;
    const [profile] = results;
    const {title, First, Last} = results;
    const [,,,,,,,,,picture] = results;
    const largeImage = picture.large;
    userImage.src = largeImage;
    headerUserInfo.innerText = title + ' ' +  First + ' ' + Last;
    clearNotice();
    displayExtraUserInfo(profile);
  };

Ошибка, которую я получаю:

Вы не де-структурировали свойство 'results' из параметра 'data', переданного в функцию 'displayUserPhotoAndName'

Я остро нуждаюсь в помощи.Спасибо в ожидании

1 Ответ

3 голосов
/ 13 марта 2019

Я не собираюсь давать вам полный ответ, но даю подсказки:

const { results } = data
const { profile } = results
console.log(profile)

Может быть записано как:

const { results: { profile } } = data
console.log(profile)

Вот некоторые мои посты, с которых вы можете пойти дальше:

Разрушить свойства объекта

как работает аннотация этого типа

почему цель источника при деструктурировании

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...