1
resposta

[Sugestão] Todos os exercicios resolvidos

//1 - Utilize o método forEach para imprimir cada elemento de um array juntamente com seu índice.
 const elementos = [`Mateus`, `Joanna`, `Jordana`];
 elementos.forEach(elemento => console.log(`Elemento: ${elemento} Index: ${elementos.indexOf(elemento)}`))

/**
 * 2 - Crie uma função chamada executaOperacaoEmArray que recebe dois parâmetros: um array e uma função de callback 
 * que executa alguma operação matemática. Essa função deve iterar por cada elemento do array e aplicar a função de 
 * callback em cada um dos elementos, imprimindo o resultado da operação no console.
 */

 const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

 function executaOperacaoEmArray(array, callback){
  array.forEach(elemento => {
     const resultado = callback(elemento); //function applied to every element in the array
     console.log(resultado); //log the result
  });
 }

// //this is the callback function
// //need to create an external function to pass into the 'callback' variable
//  multiplicaPorDois = (numero) => numero ** 2; //power of 2

// executaOperacaoEmArray(numeros, multiplicaPorDois); //pas the array and the callback function

/**
 * 3 - Você recebeu um array numeros contendo valores numéricos. Crie um programa que verifique se um número específico 
 * está presente nesse array. Se estiver, o programa deve retornar a posição (índice) desse número. Caso contrário, se o número 
 * não estiver presente, o programa deve retornar "-1".
 */

const numeros = [1.5, 2.33, 3.11, 4.56, 5.999, 6, 7, 8, 9, 10];

// consegui fazer mais tranquilo
 function existeNumero(array, numero){
     for (let i = 0; i < array.length; i++) {
         if (array[i] === numero){
             console.log(`Existe esse numero na posicao ${i}`);
             break
         }
             console.log(`Nao existe esse numero`);
             break
     }
 }

 existeNumero(numeros, 3.11);

//outro tipo utilizando o indexOf (tambem procura no array)

 function existeNumero (array, numero){
     for (let i = 0; i < array.length; i++){
         if (array.indexOf(numero) != -1){
             console.log(`Existe esse numero na posicao ${array.indexOf(numero)}`)
             break
         }
     }
 }

 existeNumero(numeros, 10)

// 4 - Você recebeu dois arrays de nomes contendo os alunos da Turma A e da Turma B.
const nomesTurmaA = [
    'João Silva',
    'Maria Santos',
    'Pedro Almeida'
];

const nomesTurmaB = [
    'Carlos Oliveira',
    'Ana Souza',
    'Lucas Fernandes'
];
  
/**
 * Utilize o método concat() para unir os arrays das turmas A e B em um único array chamado todasAsTurmas. 
 * Depois, utilize o método find() para buscar um aluno específico pelo nome no array todosAlunos. 
 * Exiba no console uma mensagem informando o nome do aluno procurado; caso não exista na lista, retorne uma mensagem de aviso, 
 * por exemplo Aluno não encontrado.
 */

 const todosAlunos = nomesTurmaA.concat(nomesTurmaB);

 const alunoEncontrado = todosAlunos.find(aluno => aluno === `Lucas Fernandes`); //cant log todosAlunos

 todosAlunos ? console.log(`Aluno encontrado: ${alunoEncontrado}`) : console.log(`Aluno nao encontrado`);

// 5 - Considere um array de números inteiros.
 const numeros = [6, 9, 12, 15, 18, 21];

/**
 * Utilize o método forEach() para multiplicar cada elemento do array por 3 e exibir no console o resultado de cada multiplicação. 
 * Depois, utilize o método findIndex() para encontrar o índice do número 18 no array original.
 */

// numeros.forEach(numero => console.log(numero * 3));
// numerosMultiplicados = numeros.map(numero => numero * 3);
// console.log(`Index of the found number: ${numerosMultiplicados.findIndex(numero => numero === 18)}`);
1 resposta

Oi, Mateus! Tudo bem?

Ótimos códigos, parabéns! Deixo apenas algumas sugestões para os exercícios compartilhados com algumas diferentes abordagens ou correções:

  1. Utilizando forEach para imprimir elementos e seus índices: O código está ótimo, mas para imprimir o índice corretamente, podemos usar o segundo parâmetro da função forEach:
const elementos = ['Mateus', 'Joanna', 'Jordana'];
elementos.forEach((elemento, index) => console.log(`Elemento: ${elemento} Index: ${index}`));
  1. Função executaOperacaoEmArray: O código está correto, mas a função de callback multiplicaPorDois está calculando o quadrado do número, se quisermos multiplicar por dois, a função deve ser:
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function executaOperacaoEmArray(array, callback) {
  array.forEach(elemento => {
    const resultado = callback(elemento);
    console.log(resultado);
  });
}

const multiplicaPorDois = (numero) => numero * 2;

executaOperacaoEmArray(numeros, multiplicaPorDois);
  1. Verificar se um número está presente no array: Deixo uma versão corrigida da função existeNumero:
const numeros = [1.5, 2.33, 3.11, 4.56, 5.999, 6, 7, 8, 9, 10];

function existeNumero(array, numero) {
  const index = array.indexOf(numero);
  if (index !== -1) {
    console.log(`Existe esse numero na posicao ${index}`);
  } else {
    console.log('Nao existe esse numero');
  }
}

existeNumero(numeros, 3.11);
existeNumero(numeros, 11); // Exemplo para número não presente
  1. Unir arrays e buscar aluno: O código está correto, mas a última linha precisa de uma pequena correção para verificar se o aluno foi encontrado:
const nomesTurmaA = ['João Silva', 'Maria Santos', 'Pedro Almeida'];
const nomesTurmaB = ['Carlos Oliveira', 'Ana Souza', 'Lucas Fernandes'];

const todasAsTurmas = nomesTurmaA.concat(nomesTurmaB);

const alunoProcurado = 'Lucas Fernandes';
const alunoEncontrado = todasAsTurmas.find(aluno => aluno === alunoProcurado);

if (alunoEncontrado) {
  console.log(`Aluno encontrado: ${alunoEncontrado}`);
} else {
  console.log('Aluno nao encontrado');
}
  1. Multiplicar elementos do array e encontrar índice: devemos apenas aplicar o findIndex no array original:
const numeros = [6, 9, 12, 15, 18, 21];

numeros.forEach(numero => console.log(numero * 3));

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

Espero ter ajudado!

Um forte abraço e bons estudos!