1
resposta

Meu resultado

// 1 - Faça uma função que aceite vários arrays como argumentos e retorne um único array contendo todos os elementos dos arrays fornecidos, utilizando Spread Operator.

// Dica: é possível usar o spread operator diretamente em um parâmetro de função para "espalhar" seu conteúdo, por exemplo function funcaoExemplo(...params).

function arraysSpreadOperator(...arrays) {
  return arrays;
}
console.log(
  `Todos os arrays juntos forma um unico array: ${arraysSpreadOperator(
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
  )}.`
);

// 2 - Crie um array de números chamado valores. Depois,escreva um programa que some todos os elementos deste array utilizando o método reduce.

const valores = [20, 7, 86, 37];
const somaValores = valores.reduce((acc, valorAtual) => valorAtual + acc, 0);
console.log(
  `O resultado da soma dos valores da lista é igual a ${somaValores}.`
);

// 3 - Considere duas listas de cores:

const coresLista1 = ["Vermelho", "Verde", "Azul", "Amarelo", "Vermelho"];

const coresLista2 = ["Laranja", "Verde", "Roxo", "Azul"];

// Crie um programa que una essas duas listas, removendo cores duplicadas e exiba a lista final.
const todosValores = coresLista1.concat(coresLista2);
console.log(todosValores);

const retirarValoresRepetidos = new Set(todosValores);
console.log(retirarValoresRepetidos);

// 4 - Escreva uma função que receba um array de números e retorne um array contendo apenas os números pares.

// const arrayNumeros = [3, 8, 12, 5, 6, 10, 7, 2, 9, 14];
console.log("os numeros que sao pares da lista: ");
retornaNumPares([20, 7, 86, 37]);
function retornaNumPares(array) {
  for (let i = 0; i < array.length; i++) {
    if (array[i] % 2 === 0) {
      console.log(array[i]);
    }
  }
}

// 5 - Crie uma função que filtre os números de um array que são múltiplos de 3 e maiores que 5.
const listaDeNumeros = [3, 7, 8, 9];
function filterArray(arr) {
  return arr.filter((num) => num % 3 === 0 && num > 5);
}
const returnFilter = filterArray(listaDeNumeros);
console.log("o numero que corresponde a funcao é " + returnFilter);

// 6 - Crie uma função que receba um array de números e retorne a soma de todos os elementos.
function somaNumeros(arr, valorInicial) {
  return arr.reduce((acc, valorAtual) => acc + valorAtual, valorInicial);
}
const arrTest = [37, 86, 7, 20];
console.log(`A soma de todos os numeros é igual a ${somaNumeros(arrTest, 10)}`);
1 resposta

Oi, Mariana! Tudo bem?

Excelente código, parabéns pela elaboração! A prática é essencial para consolidarmos o nosso aprendizado e nesse processo caso haja alguma dúvida pode contar aqui com a gente no fórum, estou à disposição e ficarei super feliz em poder ajudar!

Deixo apenas algumas sugestões de melhoria:

  1. Na função arraysSpreadOperator, estamos retornando os arrays como eles são, sem juntá-los em um único array, o que podemos corrigir usando o método abaixo:
function arraysSpreadOperator(...arrays) {
   return [].concat(...arrays); // operador spread para concatenar os arrays
}
  1. No exercício 3, estamos corretamente unindo as duas listas de cores, mas o Set criado para remover as cores duplicadas ainda é um Set, não uma array. Dessa forma, para convertê-lo em uma array, podemos usar o operador spread novamente:
const retirarValoresRepetidos = [...new Set(todosValores)];

Um forte abraço e bons estudos!