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

https://github.com/anabrtorres/javascript-rocketseat

Exercises from JavaScript Starter course | Rocketseat 🖥️🚀
https://github.com/anabrtorres/javascript-rocketseat

html javascript javascript-rocketseat rocketseat

Last synced: 8 months ago
JSON representation

Exercises from JavaScript Starter course | Rocketseat 🖥️🚀

Awesome Lists containing this project

README

          

# JavaScript | Rocketseat

Exercises from Module 1 to 4 of the Rocketseat JavaScript Starter 🖥️🚀


  1. Introdução JavaScript

  2. Manipulando a DOM

  3. App de To-Dos

  4. JS AssĂ­ncrono

Módulo 01 - Introdução JavaScript


ExercĂ­cio #1


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.

ExercĂ­cio #2


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);

ExercĂ­cio #3


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.

ExercĂ­cio #4


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

ExercĂ­cio #5


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.

MĂłdulo 02 - Manipulando a DOM


ExercĂ­cio #1


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.

ExercĂ­cio #2


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

ExercĂ­cio #3


A partir do seguinte vetor:


 var nomes = ["Diego", "Gabriel", "Lucas"]; 

Preencha uma lista ul no HTML com os itens da seguinte forma:



  • Diego

  • Gabriel

  • Lucas

ExercĂ­cio #4


Seguindo o resultado do exercĂ­cio anterior adicione um input em tela e um botĂŁo como a seguir:


< input type="text" name="nome" />

< button onClick="add()" > Adicionar < /button >

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.


MĂłdulo 03 - App de To-Dos



ExercĂ­cio #1


Faça uma lista de to-do com os seguintes elementos:


var todos = [

'Fazer café',
'Estudar Javascrpt',
'Acesar curriculo'
];

ExercĂ­cio #2


Faça a renderização dos to-dos utilizando uma função.


function renderTodos() {

// Renderize os to-dos
}renderTodos();

ExercĂ­cio #3


Adicione um input e um button para adicionar novos to-dos Ă  lista quando o botĂŁo Ă© clicado.


function addTodo() {

// Adicione um to-do
}buttonElement.onclick = addTodo;

ExercĂ­cio #4


Inclua a função de deletar to-dos quando selecionado.


function deleteTodo(pos) {

// Delete um to-do
}

ExercĂ­cio #5


Salve os dados no armazenamento local usando o Storage.


function saveToStorage() {    

// Salve no Storage
}

MĂłdulo 04 - JS AssĂ­ncrono


ExercĂ­cio #1


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");
});

ExercĂ­cio #2


Crie uma tela com um < input > 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.


< input type="text" name="user" />

< button onclick = "" >Adicionar< /button >

Depois de preencher o input e adicionar, a seguinte lista deve aparecer abaixo:


< ul >

< li >repo1< /li >
< li >repo2< /li >
< li >repo3< /li >
< li >repo4< /li >
< li >repo5< /li >
< /ul >

ExercĂ­cio #3


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:


< li >Carregando...< /li >


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.