Aqui está mais uma listinha de exercícios propostos, e concluídos :) (aceito qualquer sugestão de formas a melhorar o código)
//EXERCÍCIO 1
const numeros = [10, 20, 30, 50, 60];
const strings = ['Carro', 'Moto', 'Ônibus', 'Avião'];
const bool = [true];
function concatenarArrays(...arr) {
return [].concat(...arr)
}
//para ter certeza de que as arrays originais não foram alteradas
console.log(numeros); // saída: [ 10, 20, 30, 50, 60 ]
console.log(strings); //saída: [ 'Carro', 'Moto', 'Ônibus', 'Avião' ]
console.log(bool); //saída: [ true ];
console.log(concatenarArrays(numeros, strings, bool)); //saída: [10, 20, 30, 50, 60, 'Carro', 'Moto', 'Ônibus', 'Avião', true]
//EXERCÍCIO 2
const valores = [10, 40, 50, 60];
const valoresReduzidos = valores.reduce((acum, valor) => valor + acum, 0);
console.log(valoresReduzidos); //saída: 160
//EXERCÍCIO 3
const coresLista1 = ['Vermelho', 'Verde', 'Azul', 'Amarelo', 'Vermelho'];
const coresLista2 = ['Laranja', 'Verde', 'Roxo', 'Azul'];
function unirListas(...arr) {
const listaUnificada = [].concat(...arr);
const listaFinal = [...new Set(listaUnificada)];
return listaFinal;
}
console.log(unirListas(coresLista1, coresLista2)) //saída: [ 'Vermelho', 'Verde', 'Azul', 'Amarelo', 'Laranja', 'Roxo' ]
//EXERCÍCIOS 4
const numerosImparesEpares = [1, 2 , 3, 4, 5, 6, 7];
function numerosParesOnly(arr) {
return arr.filter((num) => num % 2 === 0)
}
console.log(numerosParesOnly(numerosImparesEpares)); //saída: [ 2, 4, 6 ]
//EXERCÍCIO 5
const numerosGerais = [1, 5, 10, 15, 20, 24, 27];
function filtraNumeros(arr) {
return arr.filter((num) => num % 3 == 0 && num >= 5)
}
console.log(filtraNumeros(numerosGerais)); //saída: [ 15, 24, 27 ]
//EXERCÍCIO 6
const num = [10, 20, 50, 60, 80];
function reduzirArrayNum(arr) {
return arr.reduce((acum, number) => acum + number, 0);
}
console.log(reduzirArrayNum(num)); //saída: 220