Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
función usando .reduce () que devuelve una matriz y un valor indefinido

Escribí esta función que se supone que debe incluir una serie de objetos de libro que tienen este formato:

 { id: "5f447132c30e8abe6c988a8b", title: "veniam voluptate magna ipsum officia", genre: "Historical Fiction", authorId: 37, borrows: [ { id: "5f446f2ea6b68cf6f85f6e28", returned: true, }, { id: "5f446f2ead0070f44676f2f6", returned: true, }, ], }

y devolver una matriz que se ve así:

 [ { name: 'Science', count: 3 }, { name: 'Classics', count: 2 }, { name: 'Historical Fiction', count: 1 }, { name: 'Travel', count: 1 }, { name: 'Young Adult', count: 1 } ]

así que fui e hice esto:

 function findMostCommonGenres(books) { const mostCommonGenres = books.reduce((genres, book) => { const genreObj = genres.find(currGenre => currGenre.name === book.genre); !genreObj ? genres.push({ name: book.genre, count: 1, }) : genreObj.count++; return genres; }, []); mostCommonGenres.sort((genA, genB) => genB.count - genA.count); mostCommonGenres.splice(5); console.log(mostCommonGenres); }

pero por alguna razón está devolviendo la matriz Y un valor indefinido como este:

 [ { name: 'Science', count: 3 }, { name: 'Classics', count: 2 }, { name: 'Historical Fiction', count: 1 }, { name: 'Travel', count: 1 }, { name: 'Young Adult', count: 1 } ] undefined

la matriz que devuelve es exactamente lo que necesito, pero no estoy seguro de dónde proviene el indefinido o cómo deshacerme de él ... ¡cualquier ayuda sería apreciada, gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No está devolviendo un valor en su función findMostCommonGenres

Si no hay un valor de retorno, la función de forma predeterminada devuelve undefined y dependiendo de dónde (Chrome devtools como ejemplo) ejecute este código, verá el valor de retorno impreso (en este caso, undefined )

Así lo escribiría para no ver el undefined

 function findMostCommonGenres(books) { const mostCommonGenres = books.reduce((genres, book) => { const genreObj = genres.find(currGenre => currGenre.name === book.genre); !genreObj ? genres.push({ name: book.genre, count: 1, }) : genreObj.count++; return genres; }, []); mostCommonGenres.sort((genA, genB) => genB.count - genA.count); mostCommonGenres.splice(5); return mostCommonGenres; } console.log(findMostCommonGenres({<your books objects here>}))
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda