1
resposta

[Dúvida] Undefined

Boa tarde. No meu console, aparece undefined Insira aqui a descrição dessa imagem para ajudar na acessibilidade

 const fs = require('fs');


const caminhoArquivo = process.argv;
const link = caminhoArquivo[2];

fs.readFile(link, 'utf-8', (erro, texto) =>{
    quebraEmParagrafos(texto)
})
// criar um array com as palavras
// contar as ocorrências
// montar um objeto com o resultado

function quebraEmParagrafos(texto){
    const paragrafos = texto.toLowerCase().split('\n')
    const contagem = paragrafos.map((paragrafo) => {
        verificaPalavrasDuplicadas(paragrafo)
;    })
     console.log(contagem);
}
function verificaPalavrasDuplicadas(texto) {
  const listaPalavras = texto.split(' ');
  const resultado = {}
 // objeto[propriedade] = valor
 listaPalavras.forEach(palavra => {
    resultado[palavra] = (resultado[palavra]||0) + 1;
 });
 return resultado;
}
 
1 resposta

Olá, Flavio! Vamos tentar resolver o problema do undefined que está aparecendo no seu console.

Pelo que parece, o problema está na função quebraEmParagrafos. No seu código, você está chamando a função verificaPalavrasDuplicadas(paragrafo), mas não está retornando o valor dela dentro do map. Isso faz com que o map não retorne nada, resultando em undefined.

Para corrigir isso, você precisa garantir que a função verificaPalavrasDuplicadas retorne um valor dentro do map. Vamos ajustar o código:

function quebraEmParagrafos(texto) {
  const paragrafos = texto.toLowerCase().split('\n');
  const contagem = paragrafos.map((paragrafo) => {
    return verificaPalavrasDuplicadas(paragrafo); // Adicione o return aqui
  });
  console.log(contagem);
}

Com essa modificação, o map irá retornar o resultado da função verificaPalavrasDuplicadas para cada parágrafo, e a variável contagem será preenchida corretamente.

Espero ter ajudado e bons estudos!