Segue a maneira de como resolvi e adaptei os exercícios propostos:
console.log("**** Exercício 1 ****");
function encontrarMaiorEMenorPalavra(arrayQualquer) {
// Inicializa ambas variáveis com o primeiro elemento
let maior = arrayQualquer[0];
let menor = arrayQualquer[0];
for (let item of arrayQualquer) {
// Verifica a maior palavra
if (item.length > maior.length) {
maior = item;
}
// Verifica a menor palavra (fora do if anterior!)
if (item.length < menor.length) {
menor = item;
}
}
console.log(`As Palavras analisadas foram: ${arrayQualquer.join("/ ")}, num total de: ${palavras.length} palavras`);
console.log(`Maior palavra foi: "${maior}" com ${maior.length} letras`);
console.log(`Menor palavra foi: "${menor}" com ${menor.length} letras`);
// Retorna ambos resultados em um objeto
return { maior, menor };
}
const palavras = ["cachorro", "paralelepípedo", "submarino", "Araçariguama", "onomatopeia", "uva"];
const resultados = encontrarMaiorEMenorPalavra(palavras);
console.log("*** Exercício 2 ***")
const ingredientesIniciais = ["dente de morcego", "chifre de unicórnio", "lágrima de crocrodilo"];
const ingredientesSecretos= ["pó de estrela cadente", "pó de piripimpim", "poeira da caixa de pandora"];
// const pocaoMagica = ingredientesIniciais.concat(ingredientesSecretos) método concat
const pocaoMagica = [...ingredientesIniciais, ...ingredientesSecretos]; // usando operador Spread(espalhar) e cria um novo array
function indiceIngredientesCaldeirao (arr) {
for (let i = 0; i < arr.length; i++) {
console.log(`indice ${i}, elemento: ${arr[i]}`);
}
console.log(` \n A poção mágica possui no total: ${arr.length} ingredientes`);
}
indiceIngredientesCaldeirao(pocaoMagica);
console.log("*** Exercícico 3 *** ");
const pA1 = [10, 12, 14, 16, 18, 20];
const pA2 = [-5, -8, -11, -14, -17];
const pA3 = [12];
function analizarPA(arr) {
console.log(`\n---Analizado a PA: ${arr.join(" , ")}---`);
let somaDosElementos = 0;
let razaoPA = 0;
for (let i = 0; i < arr.length; i++) {
somaDosElementos += arr[i];
}
console.log(`A soma dos elementos da PA é: ${somaDosElementos}`);
if (arr.length >= 2) {
razaoPA = arr[1] - arr[0];
console.log(`A razão da PA: tem o valor de: ${razaoPA}`);
} else {
console.log("Não foi possível calcular a razão!");
}
}
analizarPA(pA2);
analizarPA(pA1);
analizarPA(pA3);
console.log(" *** Exercício 4 *** ");
console.log("\n Tesouros do Reino");
const tesourosDoReino = [28, 5, 78, 0.02, 12, 1, 15, 42]; // array de números
// função para encontrar maior e menor números
function encontrarTesourosExtremos(baú) {
let tesouroMaisValioso = baú[0]; // variável que armazena maior número
let tesouroMaisEscondido = baú[0]; // variável que armazena menor número
// loop e condição de execução
for (let explorador = 0; explorador < baú.length; explorador++) {
const tesouroAtual = baú[explorador]; // armazena tesouro atual
// verifica se o tesouro atual é o maior
if (tesouroAtual > tesouroMaisValioso) {
tesouroMaisValioso = tesouroAtual; // atualiza tesouro mais valioso
console.log(`Novo recorde! O tesouro mais valioso agora é: ${tesouroMaisValioso}`);
}
if (tesouroAtual < tesouroMaisEscondido) { // verifica se o tesouto atual é menor que o tesouro escondido até agora
tesouroMaisEscondido = tesouroAtual; // atualiza tesouro escondido
console.log(`Descoberta incrível! o tesouro mais econdido agora é: ${tesouroMaisEscondido}`);
}
}
// retorna a mensagem final com resultados
return `No baú, o tesouro mais valioso é: ${tesouroMaisValioso} e o que estava mais escondido no baú era: ${tesouroMaisEscondido}.`;
}
// chama a função e imprime os resultados
console.log(encontrarTesourosExtremos(tesourosDoReino));
console.log(`O número total de tesouros no baú são: ${tesourosDoReino.length} elementos preciosos!`);
console.log("\n *** Exercício 5 ***");
// usando loop for of
const numeros = [1, 2, 3, 4, 6, 9, 10, 11, 33, 36, 45, 48, 66, 88];
// cria arrays vazios para armazenar resultados
let paresMaioresQue6 = [];
let impares = [];
for (const numero of numeros) {
// primeira consição pares maiores que 6
if (numero % 2 === 0 && numero > 6) {
paresMaioresQue6.push(numero);
}
// segunda consição números ímpares
else if (numero % 2 !== 0 ) {
impares.push(numero);
}
}
console.log(`Os números pares que são maiores que 6 são: ${paresMaioresQue6.join(" , ")} e os números ímpares são: ${impares.join(" , ")}.`);