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

[Dúvida] Fiquei na duvida do metodo findIndex():

Eu realizei de duas formas diferentes para achar o indice e cheguei no mesmo resultado, gostaria de entender qual a diferença entre eles e quando devo usar cada um deles.

const numeros = [6, 9, 12, 15, 18, 21];



numeros.forEach(function multiplicador (array){

    let numerosMultiplicados = array * 3;

    console.log('Estes são os resultados das multiplicações:', numerosMultiplicados);
});


// Achando o indice usando o indexOf();

//function acharIndice(numero){

    //const indice = numeros.indexOf(numero);

    //console.log(`O indice do numero ${numero} é ${indice}`);

//}


//acharIndice(18);

//Achando o indice usando o FindIndex();

const indice = numeros.findIndex(numero => numero === 18);
console.log(`O indice do numero é ${indice}`);

1 resposta
solução!

Olá, Juan! Tudo bem?

Vamos esclarecer isso passo a passo!

  1. Sobre o indexOf()

    O método indexOf() é utilizado para encontrar o índice de um elemento específico em um array. Ele verifica se o elemento existe no array e retorna o índice da primeira ocorrência desse elemento. Se o elemento não for encontrado, retorna -1.

    Exemplo:

    const numeros = [6, 9, 12, 15, 18, 21];
    const indice = numeros.indexOf(18);
    console.log(`O índice do número 18 é ${indice}`); // Saída: O índice do número 18 é 4
    
  2. Agora sobre o findIndex()

    O método findIndex() é mais flexível e poderoso. Ele recebe uma função de callback que é executada para cada elemento do array até que a função retorne true. Quando isso acontece, findIndex() retorna o índice do primeiro elemento que satisfaz a condição. Se nenhum elemento satisfizer a condição, retorna -1.

    Exemplo:

    const numeros = [6, 9, 12, 15, 18, 21];
    const indice = numeros.findIndex(numero => numero === 18);
    console.log(`O índice do número 18 é ${indice}`); // Saída: O índice do número 18 é 4
    
  3. Diferenças e Quando Usar Cada Um

    • indexOf(): Use quando você precisa encontrar o índice de um valor específico e não precisa de condições complexas. É mais simples e direto.
    • findIndex(): Use quando você precisa de mais flexibilidade, como encontrar um elemento com base em uma condição mais complexa. Por exemplo, encontrar o índice do primeiro número par, ou o primeiro número maior que 10.

    Exemplo com findIndex() para uma condição mais complexa:

    const numeros = [6, 9, 12, 15, 18, 21];
    const indice = numeros.findIndex(numero => numero > 10);
    console.log(`O índice do primeiro número maior que 10 é ${indice}`); // Saída: O índice do primeiro número maior que 10 é 2
    

Espero ter ajudado e bons estudos!

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