1
resposta

deu undefined

nos resultados deu undefined, veja: arquivo1:

const produtos = 
[
 {
    titulo:"Casa Monstro",
    preco:15,
},
{
    titulo:"Harry Potter",
    preco:50,
},
{
    titulo:"H.P.LoveCraft: mitos e lendas",
    preco:55,
},
{
    titulo:"A casa da arvore de 30 andares",
    preco: 80
},
{
    titulo:"O magico de Oz",
    preco: 18,
},
{
    titulo:"RezendeEvil vs Herobrine 2",
    preco: 27,
},
{
    titulo:"Um zumbi a rodo",
    preco:47,
},
]

module.exports = produtos;

arquivo2:

const produtos = require('./mergeSort1');

function encontraMenores(pivo,array){
    let menores = 0
    for(i = 0; i < array.length; i++){
        let produtoAtual = array[i];
        if(produtoAtual.preco < pivo.preco){
            menores++
        }
    }
    trocaDeLugar(array,array.indexOf[pivo],menores)
    return menores && array
}

function trocaDeLugar(array,de,para){
    const elem1 = array[de];
    const elem2 = array[para];

    array[para] = elem1;
    array[de] = elem2;
}

console.log(encontraMenores(produtos[6],produtos));

resultado: resultado:

1 resposta

Olá Matheus, tudo bem?

Peço desculpa pela demora para responder o seu tópico.

O erro "undefined" pode ocorrer por diversos motivos, mas no seu caso, parece que o erro está sendo causado por um erro de digitação no arquivo2. Na linha 15, você está tentando acessar o método indexOf() como se fosse um array, quando, na verdade, ele é um método de array. Para corrigir, basta substituir os colchetes por parênteses, ficando assim: trocaDeLugar(array,array.indexOf(pivo),menores).

Espero ter ajudado, caso tenha mais alguma dúvida ou problema, estarei à disposição para ajudá-lo.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.