извлекать значения из объекта с помощью forEach - PullRequest
0 голосов
/ 04 августа 2020

Я запускаю запрос graphql и получаю данные (data.personalPlaces), объект, который выглядит так:

nodes: (4) [{…}, {…}, {…}, {…}]

, где каждый узел выглядит следующим образом:

0:
customisedName: "HomeOfBestFriendAlice"
id: 1
placeName: "Husbrok 1, 26127 Oldenburg, Deutschland"
center: "Zes"
__typename: "FavouritePlace"
__proto__: Object

I хочу перебрать все узлы так, чтобы я мог сделать из него массив

  favouriteLocations: [
    {
      name: 'Zu Hause',
      street: 'Müllersweg',

    },
    {
      name: 'Büro',
      street: 'Philipp-Reis-Gang',
    },
    {
      name: 'KaffeeHaus',
      street: 'Cloppenburgerstr.',
    },
  ],

, где name - это customisedName, а street - это placeName из моих исходных данных. Как я могу этого добиться?

Форма данных:

{
  "data": {
    "personalFavouritePlaces": {
      "nodes": [
        {
          "placeName": "Paris, France"
        },

      ]
    }
  }
}

1 Ответ

3 голосов
/ 04 августа 2020

Вы можете использовать .map () в массиве

const favoriteLocations = data.personalFavouritePlaces.nodes.map(node => {
  return {
    name: node.customisedName,
    street: node.placeName
  }
}
...