Bom dia, Pessoal como resolver o problema abaixo:
trocaDeLugar (array, array.indexOf(pivo), menores)
^
TypeError: array.indexOf is not a function
Bom dia, Pessoal como resolver o problema abaixo:
trocaDeLugar (array, array.indexOf(pivo), menores)
^
TypeError: array.indexOf is not a function
Boa tarde, blz? Acredito que trocaDeLugar seja uma função, e você está passando os argumentos para ela. Se for isso, tente armazenar em uma variável o valor de array.indexOf(pivo), e passar essa variável como argumento.
O meu estava dando o mesmo erro, eu forcei a inicialização do argumento como Array e foi, quando gerava o TypeOf de array, ele estava vindo como undefined. Segue abaixo.
function encontraMenores(pivo, array = []) {
let menores = 0;
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;
}
Provavelmente isso deve ta ocorrendo pq a variável array
não é um Array, era bom ver como tá sendo feita a chamada dessa função.
Até dá pra fazer como Nicolas falou, mas isso só faz com que o erro pare de aparecer, não corrigi o erro. Pode ser que acabe acarretando em um problema semântico e não resolva o problema que o algoritmo deveria resolver.