Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TypeError

Alguém sabe onde esta o erro? No terminal aparece: TypeError: Cannot read property 'preco' of undefined

meu código:

function encontraMenores(pivo, array){
    let menores = 0;
    console.log(pivo)

    for(let atual = 0; atual < array.length; atual++){
        let produtoAtual = array[atual];

        if(produtoAtual.preco < pivo.preco){
            menores++;
        }

    }
    trocaLugar(array, array.indexOf(pivo), menores);
    return array;
}

function trocaLugar(array, de, para){
    const elemento1 = array[de];
    const elemento2 = array[para];

    array[para] = elemento1;
    array[de] = elemento2;
}

function divideNoPivo(array){
    let pivo = Array[Math.floor(array.length / 2)];
   console.log(pivo)

    encontraMenores(pivo, array);
    let valoresMenores = 0;

    for(let analisando = 0; analisando < array.length; analisando++){
        let atual = array[analisando];
        if(atual.preco <= pivo.preco && atual !== pivo){
            trocaLugar(array, analisando, valoresMenores);
            valoresMenores++;
        }
    }

    return array;

}

console.log(divideNoPivo(listaLivros));
2 respostas
solução!

Olá, tudo bem?

O erro está acontecendo por conta de um erro na escrita da variável array na primeira linha da sua função divideNoPivo. Perceba que você começou escrevendo a variável com um a maiúsculo.

Espero ter ajudado.

Abraços e bons estudos!

Obrigada, Murillo!