Skrrboy
@Skrrboy

Как рекурсивно извлечь данные массива объектов?

Здравствуйте! Имею массив evolves_to из Pokemon API вида :
61efdfcb4daf0674633106.png

Мне необходимо вытянуть объект species из каждого evolves_to. Как можно рекурсивно вытащить из такого вложенного объекта?

Я пробовал написать это, но что то затупил на том как вернуть данные
export const getEvoChain = (chainArray: any): any => {
    console.log(chainArray)
    chainArray && chainArray.map( 
        (element: any) => {
            console.log(element.species)
            if(element.hasOwnProperty('evolves_to')){
                getEvoChain(element.evolves_to)
                
            }  
        }
    )
    
}


Заранее благодарю
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
0xD34F
@0xD34F
const getNestedValues = (arr, nestedKey, valKey) =>
  Array.isArray(arr)
    ? arr.flatMap(n => [ n[valKey], ...getNestedValues(n[nestedKey], nestedKey, valKey) ])
    : [];


const values = getNestedValues(arr, 'evolves_to', 'species');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы