Skip to content

Instantly share code, notes, and snippets.

@adrianlemess
Last active March 5, 2021 19:05
Show Gist options
  • Save adrianlemess/0574f8a8453f21a1b64121f237140e12 to your computer and use it in GitHub Desktop.
Save adrianlemess/0574f8a8453f21a1b64121f237140e12 to your computer and use it in GitHub Desktop.
## Métodos Auxiliares para Array
### Exercicio 1
ltere o código a seguir para utilizar o método `forEach` de modo que a saída permaneça a mesma.
```
var numeros = [0,1,2,3,4,5];
for(var 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
```
### Exercicio 2
Utilizando o método `map`, escreva o método `dobrar` que recebe um array de números inteiros e retorna um array com todos os valores do array original dobrados.
```
dobrar([1, 2, 3, 4, 5])
// saída
// [2, 4, 6, 8, 10]
```
### Exercicio 3
Dada uma lista de objetos que contém o nome de um aluno e sua média final, crie o método `aprovados` que recebe esta lista e retorna somente os alunos que foram aprovados.
Para isto, utilize o método `filter`.
```
var alunos = [
{ nome: 'Diogo', media: 5.5 },
{ nome: 'Julia', media: 9.5 },
{ nome: 'Roberto', media: 1.5 },
{ nome: 'Tiago', media: 6.0 }
];
aprovados(alunos, 6.5)
// saída
// [{ nome: 'Julia', media: 9.5 }]
```
### Exercicio 4
Crie uma função buscar que recebe três parâmetros:
- propriedade: Nome da propriedade no objeto
- valor: Valor da propriedade no objeto
- lista: Lista de objetos onde a busca deve ser executada
Dado estes parâmetros, a função deve buscar na lista e retornar o registro que possui a propriedade com o valor especificado.
Utilize o método `find`.
```
var lista = [
{ nome: 'Tânia', sobrenome: 'Cardoso', idade: 65 },
{ nome: 'Emilly', sobrenome: 'Barbosa', idade: 46 },
{ nome: 'Vitória', sobrenome: 'Costa', idade: 83 },
{ nome: 'Erick', sobrenome: 'Ferreira', idade: 16 }
]
buscar('nome', 'Tânia', lista)
// saída
// { nome: 'Tânia', sobrenome: 'Cardoso', idade: 65 }
```
### Exercicio 5
Crie uma função chamada `saoTodosDaMesmaEscola` que itere por todo o array e diga se todos os alunos são da mesma escola
```
var lista = [
{ nome: 'Tânia', escola: 'Alguma Escola' },
{ nome: 'Emilly', escola: 'Alguma Escola' },
{ nome: 'Vitória', escola: 'Alguma Escola' },
{ nome: 'Erick', escola: 'Alguma Escola' }
]
saoTodosDaMesmaEscola(lista)
// saída
// true
```
### Exercicio 6
Crie uma função chamada `aoMenosUm` que itere por todo o array e diga se pelo menus um dos alunos é da escola `Alguma Escola 2`
```
var lista = [
{ nome: 'Tânia', escola: 'Alguma Escola' },
{ nome: 'Emilly', escola: 'Alguma Escola' },
{ nome: 'Vitória', escola: 'Alguma Escola 2' },
{ nome: 'Erick', escola: 'Alguma Escola' }
]
aoMenosUm(lista)
// saída
// true
```
### Exercicio 7
Utilizando a template string, crie uma string utilizando todos dados do objeto
```
var objeto = {
nome: 'John Doe',
idade: 35,
país: 'Estados Unidos',
estado: 'Massachusetts'
}
// saída
// Olá, meu nome é John Doe e eu tenho 35 anos de idade, moro nos Estados Unidos no estado de Massachusetts
```
### Exercicio 8
Implemente o método `removeDuplicatas` quer recebe o seguinte parâmetro:
- numeros: lista de números inteiros positivos
O método deve retornar a lista de número sem repetições. Utilize a estrutura de dados Set para resolver este problema.
```
removeDuplicatas([1,1,2,2,3,3])
// saída
// [1,2,3]
```
### Exercicio 9
Implemente o método `calculaValorTotalDaCompra` que recebe quatro parâmetros:
- produtos: Lista com o nome dos produtos comprados
- cidade: String que representa o nome da cidade
- caixa: Mapa que contém relação de produtos e preços
- fretes: Mapa que contém relação de cidades e fretes
Calcule o preço total da compra junto com o frete de acordo com as tabelas a seguir:
Produtos:
Produto | Preço
--------|------
| Arroz | 7.10
| Feijão | 2.30
| Macarrão | 4.70
| Refrigerante | 3.00
Fretes:
| Cidade | Frete
---------|-------
| São Paulo | 10.10
| Rio de Janeiro | 12.30
| Brasília | 14.70
| Outros | 13.00
```
calculaValorTotalDaCompra(['Arroz'], 'São Paulo', caixa, fretes)
// saída
// 17,20
```
### Exercicio 10
Refatore o código abaixo para utilziar `arrow functions` e `template string`
```
let carrinho = [
{ nome: 'abacaxi', preco: '2.00' },
{ nome: 'detergente', preco: '2.50' },
{ nome: 'bolacha', preco: '3.80' }
]
carrinho.forEach(function(produto) {
imprimeProduto(produto.nome, produto.preco);
})
function imprimeProduto(nome, preco) {
console.log('Produto: ' + nome + ' | ' + 'Preço: ' + preco);
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment