как уничтожить массив объектов JSON в Javascript - PullRequest
1 голос
/ 14 марта 2019

У меня есть объект "data" из 'https://randomuser.me/api/', который я использую в своем проекте.

{
  "results": [
    {
      "gender": "female",
      "name": {
        "title": "miss",
        "first": "mia",
        "last": "sutton"
      }
    }
  ]
}

Я деструктурировал результаты из объекта данных следующим образом;const {results} = data; Как мне деструктурировать созданную мной переменную результатов и получить из нее первый элемент. Я хочу, чтобы элемент неструктурированного массива был объявлен как профиль.Это представляет данные профиля для пользователя, полученные из вызова API, которые я хочу отобразить в моем приложении.

1 Ответ

1 голос
/ 14 марта 2019

Вы можете сделать это так:

const { results: [firstItem] } = data;

См. эту статью MDN для получения дополнительной информации о деструктуризации.

const data = {
  "results": [
    {
      "gender": "female",
      "name": {
        "title": "miss",
        "first": "mia",
        "last": "sutton"
      }
    }
  ]
};

// declare a const variable named firstItem that holds the first element of the array
const { results: [firstItem] } = data;
// You could event destructure the content of this first array item like this
const { results: [{ gender, name }] } = data;
// or go deeper like this
const { results: [{ name: { title, first, last } }] } = data;

console.log(firstItem);
console.log(gender);
console.log(name);
console.log(title, first, last);

Согласно вашему коду (см. Комментарии), это тоже должно работать:

const data = {
  "results": [
    {
      "gender": "female",
      "name": {
        "title": "miss",
        "first": "mia",
        "last": "sutton"
      }
    }
  ]
};

const displayUserPhotoAndName = (data) => {
  if(!data) return;
  const { results } = data;
  const { results: [profile] } = data;

  console.log(profile);
}

displayUserPhotoAndName(data);
...