Разрушить вложенный массив без индекса? - PullRequest
0 голосов
/ 20 февраля 2020

Я немного борюсь за то, как разрушить этот объект. Упрощенная версия объекта приведена ниже:

serviceRes = {
    data = {
        gamelogs = [
            {
                stats = {
                    ...
                }
            },
            {
                stats = {
                    ...
                }
            }
        ]
    }
}

Я перебираю массив gamelogs, чтобы получить нужные мне данные из каждой игры. По сути, я застрял на том, как деструктурировать этот массив gamelogs, независимо от индекса. У меня была мысль разрушить каждую итерацию l oop, но казалось, что существует лучший способ.

Я пробовал разные версии чего-то подобного ниже, но безуспешно.

const { offensePlays } = serviceRes.data.gamelogs.stats.miscellaneous

Если здесь требуется какое-либо разъяснение относительно объекта или моей намеченной цели, я могу уточнить. Я старался изо всех сил

1 Ответ

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

Вы не можете использовать присвоение деструктуры для преобразования массива некоторых объектов в массив их свойств. В зависимости от того, для чего он вам нужен, вы должны:

-деструктурировать все, что вам нужно в l oop (показано с помощью forEach)

serviceRes.data.gamelogs.forEach(({stats:{miscellaneous:{offensePlays}}}) => {
  console.log(offensePlays);
});

-или или, если вам нужно массив offensePlays, просто используйте Array#map()

const offensePlays = serviceRes.data.gamelogs.map(log => log.stats.miscellaneous.offensePlays);
console.log(offensePlays.length);
...