Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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:

Awesome Lists containing this project

README

        


Starter


JS Rocketseat Challenge Excercises :book:

This project is just the final exercises of each Rocketseat Javascript course module JavaScript Starter 🎓



GitHub language count


Made by DanielObara

License


Repository size



GitHub last commit


Stargazers

### 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:

    â—Ź 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:

    ```


    • repo1

    • repo2

    • repo3

    • repo4

    • repo5


    ```

    :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:

    ```

  • Carregando...

  • ```

    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.