1
resposta

[Projeto] Desafios Complementares - Hora de praticar

  • Crie uma função que valide se um número é positivo, negativo ou zero.
function validar(numero) {

    if (numero < 0) {
        console.log(`O número ${numero} é negativo.`);
    } else if (numero > 0) {
        console.log(`O número ${numero} é positivo.`);    
    } else {
        console.log(`O número é 0.`); 
    }
}

validar(-12); // Resultado: O número -12 é negativo.
validar(0); // Resultado: O número é 0.
validar(23); // Resultado: O número 23 é positivo.
  • Implemente uma função que verifique se uma pessoa é maior de idade.
function verificarIdade (idade) {

    if (idade >= 18) {
        return `Maior de idade`;
    } else {
        return `Menor de idade`;
    }
}

console.log(verificarIdade(18)); // Resultado: Maior de idade
console.log(verificarIdade(15)); // Resultado: Menor de idade
  • Desenvolva uma função que valide se uma string é vazia ou não.
function verificarString (texto) {
    return texto === '' ? 'String vazia' : 'String não vazia';
}

console.log(verificarString('Olá, mundo!')); // Resultado: String não vazia
console.log(verificarString('')); // Resultado: String vazia
  • Crie uma função que determine se um ano é bissexto
function anoBissexto (ano) {
    if ((ano % 4 === 0 && ano % 100 !== 0) || ano % 400 === 0) {
    return `O ano ${ano} é bissexto.`;
} else {
    return `O ano ${ano} não é bissexto.`;
}
}

console.log(anoBissexto(2024)); // Resultado: O ano 2024 é bissexto.
console.log(anoBissexto(2025)); // Resultado: O ano 2025 não é bissexto.
console.log(anoBissexto(2000)); // Resultado: O ano 2000 é bissexto.
  • Implemente uma função que calcule a média de dois números, interrompendo a execução se algum dos números não for válido.
function calcularMedia (num1, num2) {
    if (isNaN(num1) || isNaN(num2)) {
        return 'Um dos números inseridos não é válido';
    }
    return (num1 + num2) / 2;
}
console.log(calcularMedia(10,6));
  • Desenvolva uma função que receba um array como parâmetro e retorne o seu tamanho.
function tamanhoLista (array) {
    return array.length;
}

let lista = [2, 4, 6, 8, 10];
console.log(tamanhoLista(lista));
  • Crie um array e utilize a função includes para verificar se um elemento específico está presente
let minhaLista = [2, 4, 6, 8, 10];
console.log('O número 6 está presente na lista?', minhaLista.includes(6)); // Resultado: true
  • Implemente uma função que receba um array e um elemento, e retorne se o elemento está presente no array.
function verificarElemento (lista, elemento) {
    if (lista.includes(elemento)) {
        return `${elemento} está presente na lista`;
    }
    return `${elemento} não está presente na lista`;
}

let minhaLista = [2, 4, 6, 8, 10];
let numero = 10;
console.log(verificarElemento(minhaLista, numero));
  • Crie um array de strings e utilize includes para verificar se uma determinada string está presente.
let minhaLista = ['arroz', 'feijão', 'alface', 'carne'];
console.log('O item "brócolis" está presente na lista?', minhaLista.includes('brócolis')); // Resultado: false
  • Desenvolva uma função que receba um array de objetos representando estudantes de um curso e um objeto que representa um estudante procurado. Depois retorne se o objeto está presente no array.
function verificarObjetoPresente(lista, objeto) {
    return lista.some(item => JSON.stringify(item) === JSON.stringify(objeto));
}

let alunos = [
    { id: 1, nome: 'Nome1', idade: 25 },
    { id: 2, nome: 'Nome2', idade: 21 }
];

let alunoProcurado = { id: 2, nome: 'Nome2', idade: 21 };
let objetoEstaPresente = verificarObjetoPresente(alunos, alunoProcurado);

if (objetoEstaPresente) {
    console.log('O aluno está presente no array.');
} else {
    console.log('O aluno não está presente no array.');
}
  • Crie uma função que receba um array de números e retorne a soma dos elementos pares e o produto dos elementos ímpares.
function operacao(lista) {
    let somaDosPares = 0;
    let produtodosImpares = 1;

    for (const numero of lista) {
        if (numero % 2 === 0) {
            somaDosPares = somaDosPares + numero;
        } else {
            produtodosImpares = produtodosImpares * numero;
        }
    }

    return {
        somaPares: somaDosPares,
        produtoImpares: produtodosImpares
    };
}

const meuArrayDeNumeros = [1, 2, 3, 4, 5, 6];
const resultado = operacao(meuArrayDeNumeros);

console.log(`Analisando o array: [${meuArrayDeNumeros.join(', ')}]`); // Resultado: Analisando o array: [1, 2, 3, 4, 5, 6]
console.log(`A soma dos elementos pares é: ${resultado.somaPares}`); // Resultado: A soma dos elementos pares é: 12
console.log(`O produto dos elementos ímpares é: ${resultado.produtoImpares}`); // Resultado: O produto dos elementos ímpares é: 15

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Aline! Como vai?

Agradeço por compartilhar.

Seu trabalho está fantástico. Você não apenas resolveu todos os desafios, mas demonstrou um ótimo domínio da linguagem com soluções claras e eficientes. Gostei muito da sua implementação da lógica do ano bissexto, do uso do operador ternário para a verificação de strings e da solução criativa para comparar objetos usando JSON.stringify. É uma demonstração de grande habilidade e pesquisa.

Uma dica interessante para o futuro, já que você demonstrou um excelente domínio de laços e funções, é explorar métodos de array mais avançados, como o reduce. Ele é muito bom para "reduzir" um array a um único valor. Podemos usá-lo para reescrever sua última função, operacao, de uma forma mais funcional.


function operacaoComReduce(lista) {
    const valorInicial = { somaPares: 0, produtoImpares: 1 };

    return lista.reduce((acumulador, numero) => {
        if (numero % 2 === 0) {
            acumulador.somaPares += numero;
        } else {
            acumulador.produtoImpares *= numero;
        }
        return acumulador;
    }, valorInicial);
}

const meuArrayDeNumeros = [1, 2, 3, 4, 5, 6];
const resultado = operacaoComReduce(meuArrayDeNumeros);
console.log(resultado); // Saida: { somaPares: 12, produtoImpares: 15 }

Neste exemplo, o método reduce itera sobre a lista. O objeto acumulador (que começa como valorInicial) é mantido e modificado a cada passo. É uma abordagem muito comum em JavaScript moderno para transformar um array em um único resultado, seja ele um número, uma string ou, como neste caso, um objeto.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!