Nestes exercícios iremos exercitar os métodos auxiliares para array:
- forEach
- map
- filter
Altere o código a seguir para utilizar a função forEach
de modo que a saída permaneça a mesma.
const numeros = [0,1,2,3,4,5];
for(let i = 0; i<= numeros.length; i++) {
if(i % 2 === 0) {
console.log(i + ' é par');
} else {
console.log(i + ' é ímpar');
}
}
// saída:
// 0 é par
// 1 é ímpar
// 2 é par
// 3 é ímpar
// 4 é par
// 5 é ímpar
Utilizando o método map
, escreva a função dobrar
que recebe um array de números inteiros e retorna um array com todos os valores do array original dobrados.
- Exemplo: dobrar([1,2,3]) → [2,4,6]
Escreva o método caps
que recebe um array de strings e retorna um outro array com todas as strings do array original em CAIXA ALTA.
Use a função toUpperCase
do tipo String.
- Exemplo: caps(['oi', 'tudo', 'bem?']) → ['OI', 'TUDO', 'BEM?']
Dada uma lista de objetos que contém o nome de um aluno e sua média final, implemente a função 'aprovados' que recebe esta lista e retorna somente os alunos que foram aprovados.
Para isto, utilize a função filter
.
const alunos = [
{ nome: 'Diogo', media: 5.5 },
{ nome: 'Julia', media: 9.5 },
{ nome: 'Roberto', media: 1.5 },
{ nome: 'Tiago', media: 6.0 }
];
- Exemplo: aprovados(alunos, 6.5) → [ { nome: 'Julia', media: 9.5 } ]
Crie uma função calcularAreaTotal
que recebe um parâmetro:
- dimensoes: objeto que possui as propriedades
altura
ecomprimento
que são números inteiros
A função deve retornar a soma de todas as áreas.
Tome como base a entrada a seguir:
const dimensoes = [
{ altura: 10, comprimento: 20},
{ altura: 2, comprimento: 4},
{ altura: 1, comprimento: 1},
{ altura: 50, comprimento: 50}
]
- Exemplo: calcularAreaTotal(dimensoes) → 2709
Utilizando a função forEach
, crie uma função clonar
que recebe como parâmetro um objeto e cria uma cópia exata dela.
- utilize o método
Object.getOwnPropertyNames
para obter as propriedades do objeto.
Crie uma função chamada filtrarPorValorMinimo
que recebe três parâmetros:
- um array de objetos (array)
- o nome do atributo que será usado como filtro (string)
- o valor mínimo que o atributo deve ter para passar no filtro (number)
- exemplo: filtrarPorValorMinimo([{nome:"diego", idade:22}, {nome:"luana", idade:44}], "idade", 44) -> [{nome: "luana", idade: 44}]
Crie uma função chamada converterParaHTML
que recebe como parâmetro um array objetos e retorna um array com as informações destes objetos convertidas.
- exemplo:
const elementos = [
{tag: "img", atributos: [{chave: "alt", valor:"imagem!"}, {chave: "src", valor: "imagem.png"}], conteudo:""},
{tag: "p", atributos: [{chave: "class", valor:"texto"}], conteudo: "sou um parágrafo!"},
{tag: "h1", atributos:[], conteudo: "sou um título"}
];
const HTML = converterParaHTML(elementos);
console.log(HTML);
// resultado
[
"<img src="imagem.png" alt="imagem!" />",
"<p class="texto">sou um parágrafo!</p>",
"<h1>sou um título</h1>"
]
Diga, em poucas palavras, qual a diferença entre os métodos auxiliares forEach
e map
.