Цикл по объекту - PullRequest
       8

Цикл по объекту

0 голосов
/ 26 февраля 2020

Я делаю упражнение, используя swapi co API, и после того, как я получил результаты с веб-сайта, но я хочу отобразить только некоторые из объектов API. На данный момент я борюсь с отображением всех космических кораблей массива.

var linkApi="https://swapi.co/api/starships"
async function starships() 
{
  let response = await fetch(linkApi);
  let data = await response.json()

 for(i=0; i<data.results.length;i++){
  return{

    "count": data.count,
    "results":[
        {
            "name":data.results[i].name,
            "model": data.results[i].model,
            "crew":data.results[i].crew,
        }
    ]

  }
}
  }


starships()
  .then(data => console.log(data));


это формат, который я хочу достичь

 {
  "count": "",
  "results": [
    {
      "name": "",
      "model": "",
      "crew": "",
      "passengers": "",
      "films_count": "",
      "films": [
        {
          "title": "",
          "director": "",
          "release_date": ""
        }
      ]
    }
  ]
}

1 Ответ

0 голосов
/ 26 февраля 2020

Возврат завершит sh вашу функцию, возвращающую только первую информацию о космическом корабле. Вы должны создать объект вне для l oop и после конца for передать ему массив со всеми космическими кораблями в нужном вам формате

var linkApi="https://swapi.co/api/starships"
async function starships() 
{
    let response = await fetch(linkApi);
    let data = await response.json()
    let spaceshipsArray = [];
    let result = {
        "count": data.length
    };
    for(i=0; i < data.results.length;i++){

            spaceshipsArray.push({
            "name":data.results[i].name,
            "model": data.results[i].model,
            "crew":data.results[i].crew,
            });

    }
    }
    result.results = spaceshipsArray;
    return result;
  }

Это будет что-то вроде этого.

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