Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielobara/javascript-rocketseat
JS @Rocketseat Challenge Excercises :book:
https://github.com/danielobara/javascript-rocketseat
javascript javascript-exercises javascript-rocketseat javascript-starter rocketseat-starter-js
Last synced: 23 days ago
JSON representation
JS @Rocketseat Challenge Excercises :book:
- Host: GitHub
- URL: https://github.com/danielobara/javascript-rocketseat
- Owner: DanielObara
- License: mit
- Created: 2019-03-01T18:08:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-08T14:44:21.000Z (over 4 years ago)
- Last Synced: 2024-10-14T08:10:49.485Z (about 1 month ago)
- Topics: javascript, javascript-exercises, javascript-rocketseat, javascript-starter, rocketseat-starter-js
- Language: JavaScript
- Homepage: https://skylab.rocketseat.com.br
- Size: 39.1 KB
- Stars: 50
- Watchers: 7
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
JS Rocketseat Challenge Excercises :book:This project is just the final exercises of each Rocketseat Javascript course module JavaScript Starter 🎓
### ExercĂcios MĂłdulo 01 - Introdução JavaScript :point_up:
:one:** exercĂcio** :pencil:
Crie uma função que dado o objeto a seguir:
```
var endereco = {
rua: "Rua dos pinheiros",
numero: 1293,
bairro: "Centro",
cidade: "SĂŁo Paulo",
uf: "SP"
};
```Retorne o seguinte conteĂşdo:
`O usuário mora em São Paulo / SP, no bairro Centro, na rua "Rua dos Pinheiros" com nº 1293.`
:two:** exercĂcio** :pencil:
Crie uma função que dado um intervalo (entre x e y) exiba todos número pares:
```
function pares(x, y) {
// cĂłdigo aqui
}
pares(32, 321);
```:three:** exercĂcio** :pencil:
Escreva uma função que verifique se o vetor de habilidades passado possui a habilidade "Javascript"
e retorna um booleano true/false caso exista ou nĂŁo.```
function temHabilidade(skills) {
// cĂłdigo aqui
}
var skills = ["Javascript", "ReactJS", "React Native"];
temHabilidade(skills); // true ou false
```_Dica: para verificar se um vetor contém um valor, utilize o método indexOf._
:four:** exercĂcio** :pencil:
Escreva uma função que dado um total de anos de estudo retorna o quão experiente o usuário é:
```
function experiencia(anos) {
// cĂłdigo aqui
}
var anosEstudo = 7;
experiencia(anosEstudo);
// De 0-1 ano: Iniciante
// De 1-3 anos: Intermediário
// De 3-6 anos: Avançado
// De 7 acima: Jedi Master
```:five:** exercĂcio** :pencil:
Dado o seguinte vetor de objetos:
```
var usuarios = [
{
nome: "Diego",
habilidades: ["Javascript", "ReactJS", "Redux"]
},
{
nome: "Gabriel",
habilidades: ["VueJS", "Ruby on Rails", "Elixir"]
}
];
```Escreva uma função que produza o seguinte resultado:
`O Diego possui as habilidades: Javascript, ReactJS, Redux O Gabriel possui as habilidades: VueJS, Ruby on Rails, Elixir`
_Dica: Para percorrer um vetor vocĂŞ deve utilizar a sintaxe for...of e para unir valores de um array
com um separador utilize o join._### **ExercĂcios MĂłdulo 02** - Manipulando a DOM :v:
:one:** exercĂcio** :pencil:
Crie um botĂŁo que ao ser clicado cria um novo elemento em tela com a forma de um quadrado
vermelho com 100px de altura e largura. Sempre que o botĂŁo for clicado um novo quadrado deve
aparecer na tela.:two:** exercĂcio** :pencil:
Utilizando o resultado do primeiro desafio, toda vez que o usuário passar o mouse por cima de
algum quadrado troque sua cor para uma cor aleatória gerada pela função abaixo:```
function getRandomColor() {
var letters = "0123456789ABCDEF";
var color = "#";
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
var newColor = getRandomColor(); // #E943F0
```:three:** exercĂcio** :pencil:
A partir do seguinte vetor:
```
var nomes = ["Diego", "Gabriel", "Lucas"];
```Preencha uma lista ```
- ``` no HTML com os itens da seguinte forma:
- repo1
- repo2
- repo3
- repo4
- repo5
- Carregando...
â—Ź Diego
â—Ź Gabriel
â—Ź Lucas
:four:** exercĂcio** :pencil:
Seguindo o resultado do exercĂcio anterior adicione um input em tela e um botĂŁo como a seguir:
```
Adicionar
```
Ao clicar no botão, a função adicionar() deve ser disparada adicionando um novo item a lista de
nomes baseado no nome preenchido no input e renderizando o novo item em tela juntos aos
demais itens anteriores. Além disso, o conteúdo do input deve ser apagado após o clique.
### **ExercĂcios MĂłdulo 03** - App de ToDos :
Criado aplicativo Todo List no qual armazena os dados na localStorage. Cria e exclui itens na lista de Todo's.
### **ExercĂcios MĂłdulo 04** - JS AssĂncrono :
:one:** exercĂcio**
Crie uma função que recebe a idade de um usuário e retorna uma Promise que depois de 2
segundos retornará se usuário é maior ou não que 18 anos. Se o usuário ter mais que 18 anos de
idade o resultado deve cair no `.then,` caso contrário, no `.catch`
```
function checaIdade(idade) {
// Retornar uma promise
}
checaIdade(20)
.then(function() {
console.log("Maior que 18");
})
.catch(function() {
console.log("Menor que 18");
});
```
:two:** exercĂcio**
Crie uma tela com um
`` que deve receber o nome de um usuário no Github. Após digitar o
nome do usuário e clicar no botão buscar a aplicação deve buscar pela API do Github (conforme
URL abaixo) os dados de repositórios do usuário e mostrá-los em tela:
URL de exemplo: https://api.github.com/users/diego3g/repos
Basta alterar "diego3g" pelo nome do usuário.
```
Adicionar
```
Depois de preencher o input e adicionar, a seguinte lista deve aparecer abaixo:
```
```
:three:** exercĂcio**
A partir do resultado do exemplo anterior adicione um indicador de carregamento em tela no lugar
da lista apenas enquanto a requisição estiver acontecendo:
```
```
Além disso, adicione uma mensagem de erro em tela caso o usuário no Github não exista.
Dica: Quando o usuário não existe, a requisição irá cair no .catch com código de erro 404.
## 🤔 Como contribuir
- Faça um fork desse repositório;
- Cria uma branch com a sua feature: `git checkout -b minha-feature`;
- Faça commit das suas alterações: `git commit -m 'feat: Minha nova feature'`;
- Faça push para a sua branch: `git push origin minha-feature`.
Depois que o merge da sua pull request for feito, vocĂŞ pode deletar a sua branch.
## :memo: Licença
Esse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE.md) para mais detalhes.