Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Erro 'TypeError: menorValor is not a function'

Ao executar o selectionSort.js retorna um erro TypeError: menorValor is not a function.

Estrutura das pastas: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

menorValor.js:

const livros = require('./listaLivros');

function menorValor(arrProdutos, posicaoInicial) {
    let maisBarato = posicaoInicial;

    for (let atual = posicaoInicial; atual < arrProdutos.length; atual++) { 
        if (arrProdutos[atual].preco < arrProdutos[maisBarato].preco) {
            maisBarato = atual;
        }
    }

return maisBarato

}

module.export = menorValor;

selectionSort.js:

const livros = require('./listaLivros');
const menorValor = require('./menorValor');

for (let atual = 0; atual < livros.length; atual++) {
    let menor = menorValor(livros, atual)

    let livroAtual = livros[atual];
    console.log('livro atual ', livros[atual])
    let livroMenorPreco = livros[menor];
    console.log('livro menor preço ', livros[menor])

    livros[atual] = livroMenorPreco
    livros[menor] = livroAtual

}

console.log(livros)

listaLivros.js:

const livros = [
    {
        titulo: "Javascript",
        preco: 25
    },
    {
        titulo: "PHP",
        preco: 15
    }, 
    {
        titulo: "Java",
        preco: 30
    },
    {
        titulo: "Elixir",
        preco: 50
    },
    {
        titulo: "GO",
        preco: 45
    },
    {
        titulo: "Python",
        preco: 20
    }];

    module.exports = livros;
1 resposta
solução!

Já achei alguns erros e corrigi.

O erro estava no arquivo menorValor.js

return maisBarato; \\ antes estava sem ponto e virgula

ainda em menorValor.js

module.exports = menorValor; \\estava export sem o "s"

agora está funcionando 100%!