From a43faa641d62106aef0834040b5fcb8d5a13664c Mon Sep 17 00:00:00 2001 From: Enzo Emiliano Date: Tue, 12 Aug 2025 20:10:42 -0300 Subject: [PATCH 1/5] Update README.md --- challenge-01/README.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/challenge-01/README.md b/challenge-01/README.md index ea3305e40b..1a6f67e69b 100644 --- a/challenge-01/README.md +++ b/challenge-01/README.md @@ -2,41 +2,44 @@ ```js // Declarar uma variável chamada `myvar`, sem valor. -? + +let myvar; // Após declarada, atribua o valor 10 à variável `myvar`. -? +myvar = 10; // Declare uma nova variável chamada `soma`, e adicione uma instrução somando os valores 15 e 8. -? +let soma = 15 + 8; // Atribua à variável `soma` todo o valor dela, somando 1, usando o operador de soma abreviado. -? +soma+= 1; // Atribua à variável `soma` todo o valor dela, multiplicando por 3, usando o operador de multiplicação abreviado. -? +soma *= 3; // Qual é o valor da variável `soma` até aqui? -? +72 // Declare uma variável chamada `souninja`, atribuindo à ela o valor booleano que representa `verdadeiro`. -? +let souninja = true; // Declare uma variável chamada `comida` que recebe um array com os valores 'arroz', 'feijão' e 'ovo'. -? +let comida = ['arroz', 'feijão', 'ovo']; // Digite a instrução que imprime o valor de 'feijao', que está na variável `comida`. -? +comida[1] // Digite o código que verifica se a variável `soma' é igual a variável `myvar` (testando também o tipo). -? +soma === myvar // Digite o código que verifica se a variável `myvar` é menor ou igual à variável `soma`. -? +myvar <= soma // Crie uma função chamada `divisao` que receba como parâmetro dois números, e retorne o resultado da divisão entre eles. -? +function divisao (x, y) { +return x / y +} // Invoque a função criada acima, passando os parâmetros 10 e 2. -? -``` \ No newline at end of file +divisao (10,2) +``` From b4c004b6d8eb87718c184a02f5c02322a7a39235 Mon Sep 17 00:00:00 2001 From: enzoemilianosouza Date: Thu, 14 Aug 2025 19:08:13 -0300 Subject: [PATCH 2/5] add: challenge-01 and challenge-02 --- challenge-01/README.md | 34 ++++++++++++++------- challenge-02/README.md | 67 ++++++++++++++++++++++++++++++++---------- 2 files changed, 75 insertions(+), 26 deletions(-) diff --git a/challenge-01/README.md b/challenge-01/README.md index ea3305e40b..477c579d48 100644 --- a/challenge-01/README.md +++ b/challenge-01/README.md @@ -1,42 +1,54 @@ -# Desafio Semana #1 - -```js // Declarar uma variável chamada `myvar`, sem valor. ? -// Após declarada, atribua o valor 10 à variável `myvar`. +deixe myvar ; + +// Após declarado, atribui o valor 10 à variável `myvar`. +minhavar = 10 ; ? -// Declare uma nova variável chamada `soma`, e adicione uma instrução somando os valores 15 e 8. +// Declara uma nova variável chamada `soma`, e adiciona uma instrução somando os valores 15 e 8. +deixe soma = 15 + 8 ; ? // Atribua à variável `soma` todo o valor dela, somando 1, usando o operador de soma abreviado. +soma += 1 ; ? // Atribua à variável `soma` todo o valor dela, multiplicando por 3, usando o operador de multiplicação abreviado. +soma \*= 3 ; ? // Qual é o valor da variável `soma` até aqui? +72 ? -// Declare uma variável chamada `souninja`, atribuindo à ela o valor booleano que representa `verdadeiro`. +// Declara uma variável chamada `souninja`, atribuindo a ela o valor booleano que representa `verdadeiro`. +deixe souninja = true ; ? -// Declare uma variável chamada `comida` que recebe um array com os valores 'arroz', 'feijão' e 'ovo'. +// Declara uma variável chamada `comida` que recebe um array com os valores 'arroz', 'feijão' e 'ovo'. +let comida = [ 'arroz' , 'feijão' , 'ovo' ] ; ? // Digite a instrução que imprime o valor de 'feijao', que está na variável `comida`. +comida [ 1 ] ? -// Digite o código que verifica se a variável `soma' é igual a variável `myvar` (testando também o tipo). +// Digite o código que verifica se a variável `soma' é igual à variável `myvar` (testando também o tipo). +soma === myvar ? // Digite o código que verifica se a variável `myvar` é menor ou igual à variável `soma`. +myvar <= soma ? -// Crie uma função chamada `divisao` que receba como parâmetro dois números, e retorne o resultado da divisão entre eles. +// Crie uma função chamada `divisão` que recebe como parâmetro dois números, e retorna o resultado da divisão entre eles. +função divisão ( x , y ) { +retornar x / y +} ? -// Invoque a função criada acima, passando os parâmetros 10 e 2. +// Invoque a função criada acima, passando pelas parâmetros 10 e 2. +divisão ( 10 , 2 ) ? -``` \ No newline at end of file diff --git a/challenge-02/README.md b/challenge-02/README.md index 2a4be6970b..e2561dc6de 100644 --- a/challenge-02/README.md +++ b/challenge-02/README.md @@ -4,29 +4,37 @@ Nesse exercício, você está livre para escolher os nomes para suas variáveis ```js // Crie uma função que receba dois argumentos e retorne a soma dos mesmos. -? +function somaParametro(x, y) { + return x + y; +} // Declare uma variável que receba a invocação da função criada acima, passando dois números quaisquer por argumento, e somando `5` ao resultado retornado da função. -? +const recebeFunction = somaParametro(5, 5) + 5; // Qual o valor atualizado dessa variável? -? +15; // Declare uma nova variável, sem valor. -? +var semValor; /* Crie uma função que adicione um valor à variável criada acima, e retorne a string: O valor da variável agora é VALOR. Onde VALOR é o novo valor da variável. */ -? + +function addValorVar(valor) { + semValor = valor; + + return "o valor da variavel agora é:" + semValor; +} // Invoque a função criada acima. -? +addValorVar(); // Qual o retorno da função? (Use comentários de bloco). -? +/* 'o valor da variavel agora éundefined' /* + /* Crie uma função com as seguintes características: @@ -35,19 +43,31 @@ Crie uma função com as seguintes características: Preencha todos os valores corretamente! 3. O retorno da função deve ser a multiplicação dos 3 argumentos, somando `2` ao resultado da multiplicação. */ -? + +function verificaParams(x, y, z) { + if (x === undefined || y === undefined || z === undefined) { + return "Preencha todos os valores corretamente!"; + } + + var multiplicaParams = x * y * z; + + return multiplicaParams + 2; +} // Invoque a função criada acima, passando só dois números como argumento. -? + +verificaParams(5, 5); // Qual o resultado da invocação acima? (Use comentários para mostrar o valor retornado). -? + +// 'Preencha todos os valores corretamente!' // Agora invoque novamente a função criada acima, mas passando todos os três argumentos necessários. -? +verificaParams(5, 5, 5); // Qual o resultado da invocação acima? (Use comentários para mostrar o valor retornado). -? + +// 127 /* Crie uma função com as seguintes características: @@ -58,8 +78,25 @@ Crie uma função com as seguintes características: 5. Se nenhum argumento for passado, retorne o valor booleano `false`. 6. E ainda, se nenhuma das condições acima forem atendidas, retorne `null`. */ -? + +function tresArgumentos(x, y, z) { + if (x && y && z) { + return (x + y) / z; + } else if (x && y) { + return x + y; + } else if (!x && !y && !z) { + return false; + } else if (x) { + return x; + } else { + return null; + } +} // Invoque a função acima utilizando todas as possibilidades (com nenhum argumento, com um, com dois e com três.) Coloque um comentário de linha ao lado da função com o resultado de cada invocação. -? -``` \ No newline at end of file + +tresArgumentos(); // false +tresArgumentos(5); // 5 +tresArgumentos(5, 10); // 15 +tresArgumentos(5, 10, 15); // 1 +``` From 0af0874d6df0d66c457c5dfc3d3ea991aefc3fcc Mon Sep 17 00:00:00 2001 From: enzoemilianosouza Date: Sat, 16 Aug 2025 15:21:47 -0300 Subject: [PATCH 3/5] feat: add challenge-03 metodos e propiedades --- challenge-02/README.md | 12 ++++ challenge-03/README.md | 144 +++++++++++++++++++++++++++++++++++------ 2 files changed, 135 insertions(+), 21 deletions(-) diff --git a/challenge-02/README.md b/challenge-02/README.md index e2561dc6de..2356aa76ed 100644 --- a/challenge-02/README.md +++ b/challenge-02/README.md @@ -29,6 +29,17 @@ function addValorVar(valor) { return "o valor da variavel agora é:" + semValor; } +///////////////////////////////////////////////////////////////////////////////////////////////////////// +// correção: ele não pediu param, então deveria ficar: +function addValor() { + var valor = 25; + return "o valor da variavel agora é:" + valor; +} + +addValor(); // aqui estou chamando a função e quando chamo, ela atribui a var valor o numero 25 e retorna a mensagem. + +///////////////////////////////////////////////////////////////////////////////////////////////////////// + // Invoque a função criada acima. addValorVar(); @@ -46,6 +57,7 @@ Crie uma função com as seguintes características: function verificaParams(x, y, z) { if (x === undefined || y === undefined || z === undefined) { + // quando não é passado nenhum valor para um var, ela é undefined. correto! > null é um valor return "Preencha todos os valores corretamente!"; } diff --git a/challenge-03/README.md b/challenge-03/README.md index f7cd9a74e0..9252a6262b 100644 --- a/challenge-03/README.md +++ b/challenge-03/README.md @@ -2,7 +2,10 @@ ```js // Declarar uma variável qualquer, que receba um objeto vazio. -? + + var objVazio = {} + + // #corrreto /* Declarar uma variável `pessoa`, que receba suas informações pessoais. @@ -16,14 +19,20 @@ As propriedades e tipos de valores para cada propriedade desse objeto devem ser: - `andando` - Boolean - recebe "falso" por padrão - `caminhouQuantosMetros` - Number - recebe "zero" por padrão */ -? + + var pessoa = { nome: 'enzo', sobrenome: 'emiliano', sexo: 'masculino', idade: 29, altura: 1.66, peso: 85, andando: false, caminhouQuantosMetros: 0} + +// #correto /* Adicione um método ao objeto `pessoa` chamado `fazerAniversario`. O método deve alterar o valor da propriedade `idade` dessa pessoa, somando `1` a cada vez que for chamado. */ -? + + pessoa.fazerAniversario = function () {return pessoa.idade++} + + // #correto /* Adicione um método ao objeto `pessoa` chamado `andar`, que terá as seguintes @@ -35,103 +44,151 @@ valor dessa propriedade a quantidade passada por parâmetro; - Ele deverá modificar o valor da propriedade `andando` para o valor booleano que representa "verdadeiro"; */ -? + pessoa.andar = function (qntMetros) { + + pessoa.caminhouQuantosMetros = pessoa.caminhouQuantosMetros + qntMetros + + if(pessoa.caminhouQuantosMetros > 0) { + return pessoa.andando = true + } + + } + + + // #correto > MAS poderia também simplificar fazendo como a sugestão da correção: + /* + + pessoa.andar = function (qntMetros) { + + pessoa.caminhouQuantosMetros += qntMetros + + pessoa.andando = true + + } + + */ /* Adicione um método ao objeto `pessoa` chamado `parar`, que irá modificar o valor da propriedade `andando` para o valor booleano que representa "falso". */ -? + + pessoa.parar = function () {return pessoa.andando = false} /* Crie um método chamado `nomeCompleto`, que retorne a frase: - "Olá! Meu nome é [NOME] [SOBRENOME]!" */ -? + + pessoa.nomeCompleto = function () { + return `Olá, meu nome é ${pessoa.nome} ${pessoa.sobrenome}` + } + + // #correto /* Crie um método chamado `mostrarIdade`, que retorne a frase: - "Olá, eu tenho [IDADE] anos!" */ -? + pessoa.mostrarIdade = function () {return `Olá, eu tenho ${pessoa.idade} anos`} /* Crie um método chamado `mostrarPeso`, que retorne a frase: - "Eu peso [PESO]Kg." */ -? + + pessoa.mostrarPeso = function () {return `Eu peso ${pessoa.peso}kg`} /* Crie um método chamado `mostrarAltura` que retorne a frase: - "Minha altura é [ALTURA]m." */ -? + + pessoa.mostrarAltura = function () {return `Minha altura é ${pessoa.altura}m`} /* Agora vamos brincar um pouco com o objeto criado: Qual o nome completo da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.nomeCompleto() // olá meu nome é enzo emiliano + /* Qual a idade da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.idade // Olá, eu tenho 29 anos' /* Qual o peso da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.peso // 'Eu peso 85kg' /* Qual a altura da pessoa? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.altura // 'Minha altura é 1.66m' /* Faça a `pessoa` fazer 3 aniversários. */ -? + + pessoa.fazerAniversario() + pessoa.fazerAniversario() + pessoa.fazerAniversario() + /* Quantos anos a `pessoa` tem agora? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.mostrarIdade() // 'Olá, eu tenho 32 anos' /* Agora, faça a `pessoa` caminhar alguns metros, invocando o método `andar` 3x, com metragens diferentes passadas por parâmetro. */ -? + + pessoa.andar(5) + pessoa.andar(10) + pessoa.andar(15) + /* A pessoa ainda está andando? (Use a instrução para responder e comentários inline ao lado da instrução para mostrar qual foi a resposta retornada) */ -? + + pessoa.andando // true /* Se a pessoa ainda está andando, faça-a parar. */ -? + + pessoa.parar() /* E agora: a pessoa ainda está andando? (Use uma instrução para responder e comentários inline ao lado da instrução para mostrar a resposta retornada) */ -? + + pessoa.andando // false /* Quantos metros a pessoa andou? (Use uma instrução para responder e comentários inline ao lado da instrução para mostrar a resposta retornada) */ -? + + pessoa.caminhouQuantosMetros // 30 /* Agora vamos deixar a brincadeira um pouco mais divertida! :D @@ -154,4 +211,49 @@ correta, de acordo com os dados inseridos no objeto. // Agora, apresente-se ;) ? -``` + +// 1ª tentativa +// pessoa.apresentacao = function () { + +// var femininoTxt = `Olá, eu sou a ${pessoa.nomeCompleto()}, tenho ${pessoa.idade} anos, ${pessoa.altura}, meu peso é ${pessoa.peso} e, só hoje, eu já caminhei ${pessoa.caminhouQuantosMetros} metros!` + +// var idadeUm = `Olá, eu sou o ${pessoa.nomeCompleto()}, tenho ${pessoa.idade} ano, ${pessoa.altura}, meu peso é ${pessoa.peso} e, só hoje, eu já caminhei ${pessoa.caminhouQuantosMetros} metros!` + +// var umMetro = `Olá, eu sou o ${pessoa.nomeCompleto()}, tenho ${pessoa.idade} ano, ${pessoa.altura}, meu peso é ${pessoa.peso} e, só hoje, eu já caminhei ${pessoa.caminhouQuantosMetros} metro!` + +// var outro = ` ${pessoa.nomeCompleto()}, tenho ${pessoa.idade} anos, ${pessoa.altura}, meu peso é ${pessoa.peso} e, só hoje, eu já caminhei ${pessoa.caminhouQuantosMetros} metros!` + +// if(pessoa.sexo === 'feminino') { +// return femininoTxt +// } else if (pessoa.idade === 1) { +// return idadeUm +// } else if (pessoa.caminhouQuantosMetros === 1) { +// return umMetro +// } else { return outro } +// } + +// melhor solução +pessoa.apresentacao = function () { + var sexo = 'o' + + if(pessoa.sexo === 'feminino') { + sexo = 'a' + } + + var idadeAnos = 'anos' + + if(pessoa.idade === 1) { + idadeAnos = 'ano'; + } + + + var qntMetro = 'metros' + + if(pessoa.caminhouQuantosMetros === 1) { + qntMetro = 'metro' + } + + + + return `Olá, eu sou ${sexo} ${pessoa.nome} ${pessoa.sobrenome}, tenho ${pessoa.idade} ${idadeAnos}, ${pessoa.altura}, meu peso é ${pessoa.peso} e, só hoje, eu já caminhei ${pessoa.caminhouQuantosMetros} ${qntMetro}!` +} \ No newline at end of file From 4db88e26395a2b0e498636ede64f230fdf659d99 Mon Sep 17 00:00:00 2001 From: enzoemilianosouza Date: Wed, 20 Aug 2025 16:34:08 -0300 Subject: [PATCH 4/5] feat: add challenge-04 metodos e propriedades --- challenge-04/README.md | 149 +++++++++++++++++++++++++++++++++++------ 1 file changed, 127 insertions(+), 22 deletions(-) diff --git a/challenge-04/README.md b/challenge-04/README.md index ad0fb2f1b2..670ffb3674 100644 --- a/challenge-04/README.md +++ b/challenge-04/README.md @@ -7,15 +7,60 @@ um único parâmetro como argumento. Essa função deve retornar `true` se o equivalente booleano para o valor passado no argumento for `true`, ou `false` para o contrário. */ -? + + // o que fiz: + var isTruthy = function (x) { + if (x) { + return true + } else { + return false + } + } + + // podemos fazer - correção - : + var isTruthy = function (x) { + if(x) { + return true + } + + return false + } + + // ou: + + var isTruthy = function (x) { + return x ? true : false + } // Invoque a função criada acima, passando todos os tipos de valores `falsy`. -? + + isTruthy(false) + isTruthy(null) + isTruthy(undefined) + isTruthy('') + isTruthy(0) + isTruthy(NaN) + isTruthy(-0) + /* Invoque a função criada acima passando como parâmetro 10 valores `truthy`. */ -? + + isTruthy(1) + isTruthy('0') + isTruthy([]) + isTruthy({}) + isTruthy(true) + isTruthy(1.66) + isTruthy(!0) + isTruthy(10 + 10) + isTruthy([1,2,3]) + + + // ficou faltando: + isTruthy(function () {}) + /* Declare uma variável chamada `carro`, atribuindo à ela um objeto com as @@ -29,35 +74,60 @@ seguintes propriedades (os valores devem ser do tipo mostrado abaixo): - `assentos` - Number - cinco por padrão - `quantidadePessoas` - Number - zero por padrão */ -? + + var carro = { + marca: 'palio', + modelo: 'sedan', + placa: 'XYZ101', + ano: 2015, + cor: 'preto', + quantasPortas: 4, + assentos: 5, + quantidadePessoas: 0, + } /* Crie um método chamado `mudarCor` que mude a cor do carro conforme a cor passado por parâmetro. */ -? + + carro.mudarCor = function (x) { + carro.cor = x + } /* Crie um método chamado `obterCor`, que retorne a cor do carro. */ -? + + carro.obterCor = function () { + return carro.cor + } /* Crie um método chamado `obterModelo` que retorne o modelo do carro. */ -? + + carro.obterModelo = function () { + return carro.modelo + } /* Crie um método chamado `obterMarca` que retorne a marca do carro. */ -? + + carro.obterMarca = function () { + return carro.marca + } /* Crie um método chamado `obterMarcaModelo`, que retorne: "Esse carro é um [MARCA] [MODELO]" Para retornar os valores de marca e modelo, utilize os métodos criados. */ -? + + carro.obterMarcaModelo = function () { + return `Esse carro é um ${carro.marca} ${carro.modelo}` + } /* Crie um método que irá adicionar pessoas no carro. Esse método terá as @@ -66,16 +136,37 @@ seguintes características: número não precisa encher o carro, você poderá acrescentar as pessoas aos poucos. - O método deve retornar a frase: "Já temos [X] pessoas no carro!" + - Se o carro já estiver cheio, com todos os assentos já preenchidos, o método deve retornar a frase: "O carro já está lotado!" + - Se ainda houverem lugares no carro, mas a quantidade de pessoas passadas por parâmetro for ultrapassar o limite de assentos do carro, então você deve mostrar quantos assentos ainda podem ser ocupados, com a frase: "Só cabem mais [QUANTIDADE_DE_PESSOAS_QUE_CABEM] pessoas!" + - Se couber somente mais uma pessoa, mostrar a palavra "pessoa" no retorno citado acima, no lugar de "pessoas". */ -? + + + carro.adicionarPessoa = function (numeroPessoas) { + var totalPessoas = carro.quantidadePessoas + numeroPessoas + + + if(carro.quantidadePessoas === carro.assentos && totalPessoas >= carro.assentos) { + return "O carro já está lotado!" + } + + if(totalPessoas > carro.assentos) { + var restaLugar = carro.assentos - carro.quantidadePessoas + var singulaOuPlural = restaLugar === 1 ? 'pessoa' : 'pessoas' + return `Só cabem mais ${restaLugar} ${singulaOuPlural}!` + } + + carro.quantidadePessoas += numeroPessoas + return "Já temos" + carro.quantidadePessoas + "pessoas no carro!" + } /* Agora vamos verificar algumas informações do carro. Para as respostas abaixo, @@ -85,38 +176,52 @@ retornar algum valor. Qual a cor atual do carro? */ -? + + carro.obterCor() // preto + // Mude a cor do carro para vermelho. -? + + carro.mudarCor('vermelho') // E agora, qual a cor do carro? -? + + carro.obterCor() // vermelho + // Mude a cor do carro para verde musgo. -? + + carro.mudarCor('verde musgo') + // E agora, qual a cor do carro? -? + + carro.obterCor() //'verde musgo' // Qual a marca e modelo do carro? -? + + carro.obterMarcaModelo() // 'Esse carro é um palio sedan' // Adicione 2 pessoas no carro. -? + + carro.adicionarPessoa(2) // 'Já temos 2 pessoas no carro!' // Adicione mais 4 pessoas no carro. -? + + carro.adicionarPessoa(4) // 'Só cabem mais 3 pessoas!' // Faça o carro encher. -? + + carro.adicionarPessoa(3) // 'Já temos 5 pessoas no carro!' // Tire 4 pessoas do carro. -? + carro.adicionarPessoa(-4) // 'Já temos 1 pessoa no carro!' // Adicione 10 pessoas no carro. -? + + carro.adicionarPessoa(10) // só cabem mais 4 pessoas + // Quantas pessoas temos no carro? -? + carro.quantidadePessoa // 1 ``` From b51eae2491aded7af03f1924c98f9e15f6a0ba61 Mon Sep 17 00:00:00 2001 From: enzoemilianosouza Date: Sat, 23 Aug 2025 17:44:15 -0300 Subject: [PATCH 5/5] feat: add challenge-05 --- .eslintrc.json | 32 +++++++++++++ challenge-05/challenge-05.js | 92 +++++++++++++++++++++++++++++++----- package.json | 11 +++++ 3 files changed, 123 insertions(+), 12 deletions(-) create mode 100644 .eslintrc.json create mode 100644 package.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000000..07eb48889d --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,32 @@ +{ + "env": { + "browser": true, + "es2021": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "plugins": ["react", "@typescript-eslint", "prettier"], + "rules": { + "prettier/prettier": "error", // Faz o Prettier rodar pelo ESLint + "react/react-in-jsx-scope": "off", // Se usar React 17+ + "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }] + }, + "settings": { + "react": { + "version": "detect" + } + } +} diff --git a/challenge-05/challenge-05.js b/challenge-05/challenge-05.js index 29e9ee6bb7..ff38e4ea83 100644 --- a/challenge-05/challenge-05.js +++ b/challenge-05/challenge-05.js @@ -2,17 +2,26 @@ Crie uma variável qualquer, que receba um array com alguns valores aleatórios - ao menos 5 - (fica por sua conta os valores do array). */ -// ? +// + +const arrayValores = [1, 2, 3, 4, 5]; /* Crie uma função que receba um array como parâmetro, e retorne esse array. */ // ? +function myFunction(arg) { + return arg; +} + +myFunction(arrayValores); + /* Imprima o segundo índice do array retornado pela função criada acima. */ -// ? + +console.log(myFunction(arrayValores[1])); // 2 /* Crie uma função que receba dois parâmetros: o primeiro, um array de valores; e o @@ -20,18 +29,31 @@ segundo, um número. A função deve retornar o valor de um índice do array que no primeiro parâmetro. O índice usado para retornar o valor, deve ser o número passado no segundo parâmetro. */ -// ? + +const arrayDois = [11, 12, 13, 14, 15]; + +function myFunctionDois(arr, numberIndice) { + return arr[numberIndice]; +} + +console.log(myFunctionDois(arrayDois, 3)); /* Declare uma variável que recebe um array com 5 valores, de tipos diferentes. */ -// ? + +const arrFiveValues = [1, false, "enzo", [0, 1], { a: "z" }]; /* Invoque a função criada acima, fazendo-a retornar todos os valores do último array criado. */ -// ? + +console.log(myFunctionDois(arrFiveValues, 0)); +console.log(myFunctionDois(arrFiveValues, 1)); +console.log(myFunctionDois(arrFiveValues, 2)); +console.log(myFunctionDois(arrFiveValues, 3)); +console.log(myFunctionDois(arrFiveValues, 4)); /* Crie uma função chamada `book`, que recebe um parâmetro, que será o nome do @@ -47,30 +69,76 @@ propriedades: - Se o parâmetro não for passado, a função deve retornar o objeto com todos os livros. */ -// ? + +function book(name) { + const bookDetails = { + livroOne: { + name: "Livro one", + quantidadePaginas: 10, + autor: "BOOK um", + editora: "editora um", + }, + livroTwo: { + name: "Livro two", + quantidadePaginas: 20, + autor: "BOOK dois", + editora: "editora dois", + }, + livroThree: { + name: "Livro three", + quantidadePaginas: 30, + autor: "BOOK três", + editora: "editora três", + }, + }; + + if (name === "livroOne") { + return bookDetails.livroOne; + } + + if (name === "livroTwo") { + return bookDetails.livroTwo; + } + + if (name === "livroThree") { + return bookDetails.livroThree; + } + + return bookDetails; +} /* -Usando a função criada acima, imprima o objeto com todos os livros. -*/ -// ? + Usando a função criada acima, imprima o objeto com todos os livros. + */ + +console.log(book()); /* Ainda com a função acima, imprima a quantidade de páginas de um livro qualquer, usando a frase: "O livro [NOME_DO_LIVRO] tem [X] páginas!" */ -// ? + +console.log( + ` O livro ${book("livroOne").name} tem ${book("livroOne").quantidadePaginas} páginas `, +); /* Ainda com a função acima, imprima o nome do autor de um livro qualquer, usando a frase: "O autor do livro [NOME_DO_LIVRO] é [AUTOR]." */ -// ? + +console.log( + `O autor do livro ${book("livroOne").name} é ${book("livroOne").autor}`, +); /* Ainda com a função acima, imprima o nome da editora de um livro qualquer, usando a frase: "O livro [NOME_DO_LIVRO] foi publicado pela editora [NOME_DA_EDITORA]." */ -// ? + +console.log( + `O livro ${book("livroOne").name} foi publicado pela editora ${book("livroOne").editora}`, +); diff --git a/package.json b/package.json new file mode 100644 index 0000000000..ed059c1a10 --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^8.40.0", + "@typescript-eslint/parser": "^8.40.0", + "eslint": "^9.33.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.4", + "eslint-plugin-react": "^7.37.5", + "prettier": "^3.6.2" + } +}