1
resposta

Exercícios resolvidos

Olá!

Gostaria de saber se as resoluções dos exercícios estão corretas (estão diferentes das respostas fornecidas no github).

Obrigada!

//1 - Utilize o método forEach para imprimir cada elemento de um array juntamente com seu índice.

const arrayForEach = ['Primeiro', 'Segundo', 'Terceiro'];

const imprimeArrayForEach = arrayForEach.forEach((elemento, indice) => {
    console.log(`Índice ${indice}: Valor: ${elemento}`)
});

console.log(imprimeArrayForEach);

/* 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 array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];

const arrayReduzido = array.map(function (a) {
    return a / 10;
});

console.log(arrayReduzido);

//////////////////////////////////////////////////////////////////////////////////////////////////

/* 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 = [10, 20, 30, 40, 50];

function verificaElemento (elemento) {
    if (numeros.includes(elemento)) { //BUSCA SE O ELEMENTO EXISTE NO ARRAY
        let indiceElemento = numeros.indexOf(elemento); //BUSCA O ÍNDICE DO ELEMENTO
        return `O número ${elemento} existe no array na posição ${indiceElemento}`;
    } else {
        return `O número ${elemento} não está no array!`
    }
}

console.log(verificaElemento(99));

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/* 4 - Você recebeu dois arrays de nomes contendo os alunos da Turma A e da Turma B. 
    - 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 nomesTurmaA = [
    'João Silva',
    'Maria Santos',
    'Pedro Almeida'
];
  
const nomesTurmaB = [
    'Carlos Oliveira',
    'Ana Souza',
    'Lucas Fernandes'
];

const todasAsTurmas = nomesTurmaA.concat(nomesTurmaB);

const procuraAluno = function (nome) {
    let alunoEncontrado = todasAsTurmas.find(elemento => elemento === nome);
    if (alunoEncontrado) {
        return `Aluno encontrado: ${alunoEncontrado}`
    } else {
        return `Aluno não encontrado!`
    }
}
console.log(procuraAluno('Carlos Oliveira'));

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

const arrayMultiplicado = listaNumeros.map(function (valor) { //chama a função callback para multiplicar os elementos no array por 3.
    return valor * 3;
}) 

const retornaIndice = function (v) {
    const encontraIndice = arrayMultiplicado.findIndex(elemento => elemento === v);
    if (encontraIndice !== -1) {
        return `Índice do número ${v} é: ${encontraIndice}`;
    } else {
        return `O número ${v} não existe no array!`
    }
} 

console.log(arrayMultiplicado);
console.log(retornaIndice(63));

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1 resposta

Oi Isabela,

Seus exercícios estão muito bons 👍.

No primeiro exercício, você usou forEach corretamente para percorrer o array e exibir o índice e valor de cada elemento.

Só observe que o console.log(imprimeArrayForEach) no final imprime undefined porque forEach não retorna nada.

Mas para este exercício, o importante era usar o forEach para imprimir os elementos, e isso você fez muito bem.

No segundo exercício, você usou map em vez de forEach.

O map cria um novo array com os resultados da função callback, enquanto o forEach apenas executa a função para cada elemento, sem criar um novo array.

Para este exercício, o ideal seria usar forEach para iterar e imprimir o resultado de cada operação diretamente.

Mas o map também funciona e o resultado está correto, dividindo cada número por 10.

O terceiro exercício está perfeito 😁.

Você usou includes para verificar se o elemento existe e indexOf para pegar o índice. A lógica e o código estão ótimos.

No quarto exercício, você também acertou em cheio 👏.

Usou concat para juntar os arrays e find para procurar o aluno. Tudo funcionando como esperado.

No quinto exercício, você usou map novamente para multiplicar os números por 3, o que criou um novo array com os resultados.

A descrição pedia para usar forEach para exibir o resultado de cada multiplicação.

Para exibir com forEach, você poderia fazer assim:

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

listaNumeros.forEach(function (valor) {
    const resultado = valor * 3;
    console.log(`Resultado de ${valor} * 3 é: ${resultado}`);
});

E para o findIndex, você procurou o índice de 18 no array original listaNumeros.

Se a intenção fosse procurar no array multiplicado, você deveria usar arrayMultiplicado.findIndex(...).

Mas se o objetivo era no array original, está correto também.

🎓 Para saber mais: Array.prototype.forEach() - JavaScript | MDN.

Continue praticando e explorando os arrays em JavaScript 🥳!