Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Projeto] lista de exercícios 6: Arrays e aprendizados

// 1. Lista de nomes
    // Crie um array com 5 nomes. 
    // Use for para imprimir cada nome no console, um por linha. 

const nomes = ['Esperidião', 'Natureza', 'Flora', 'Oatomo','Fuedi']

console.log('Usando For Tradicional')
for (i=0; i < nomes.length; i++){
    console.log(nomes[i])
}

console.log('Usando forEach')
nomes.forEach( (valor) => {
    console.log(valor)    
});

console.log('usando for of')
for(const nome of nomes) {
    console.log(nome)
}



// 2. Adicionar e remover itens
    // Comece com um array de frutas. 
    // Adicione uma nova fruta ao final com push() 
    // e remova a primeira com shift(). Mostre o array antes e depois.

frutas = ['Amora','Acerola','Uva','Cereja','Morango','Melancia','Goiaba' ]

console.log('Frutas antes: ',frutas)

frutas.push('Kiwi')
frutas.shift()

console.log('Frutas depois do push e shift:',frutas)





// 3. Contar itens do array
    // Crie um array com nomes de cidades 
    // e exiba no console a quantidade total de itens usando .length. 

const cidades = ['São Paulo', 'Rio de Janeiro', 'João Pessoa', 'Cabedelo','Recife', 'Florianópolis', 'Curitiba','Porto Alegre', 'Foz do Iguaçu', "Cascavel", 'Santa Maria', 'Santa Cruz do Sul']

console.log('Total de cidades listadas', cidades.length)




// 4. Somar todos os números
    // Crie um array com 10 números. 
    // Use for para somar todos os valores e mostrar o total no final.

let numeros = [1,3,7,11,13,17,19,23,29,31];
let soma = 0;
for (let i = 0; i< numeros.length;i++) {
    soma += numeros[i]
    console.log(numeros[i],soma)
}

console.log('Soma total no final: ',soma)




// 5. Média de notas
    // Crie um array com 4 notas. 
    // Some os valores e calcule a média, exibindo uma mensagem de "Aprovado" ou "Reprovado" com base na média >= 7. 
let notas = [7,9,8.5,9.5]
let somaNotas = 0
for (let nota of notas) {
    somaNotas += nota 
}
let media = somaNotas / notas.length

if (media >=7) {
    console.log ('Aprovado com a média: ', media)
} else {
    console.log ('Reprovado com a média: ',media)
}




// 6. Mensagens personalizadas com forEach
    // Crie um array com nomes de usuários. 
    // Use forEach para imprimir "Olá, [nome]!" para cada um.
let usuarios = ['McLovin', 'Junior', 'Ethan', "McLovin Jr.", 'luke']

// usuarios.forEach((usuario) =>{
//     console.log(`Olá, ${usuario}!`)
// })

usuarios.forEach((usuario) =>{
    console.log('Olá, '+usuario+'!')
})




// 7. Descontos com map
    // Crie um array com preços de produtos. 
    // Use map para aplicar 10% de desconto em cada um e mostre os preços com desconto.
let precoProdutos = [10, 10, 15, 40, 50, 90]

let produtoCDescontos = precoProdutos.map((precoProduto)=> {
    return precoProduto * 0.9
})

console.log('Nossos produtos com 10% de desconto:', produtoCDescontos)




// 8. Filtrar valores altos
    // Crie um array com idades. 
    // Use filter para retornar apenas as idades maiores ou iguais a 18 e exiba o resultado. 

let idades = [16,15,18,50,21,33,30,36]

let maiorDeIdade = idades.filter((idade)=> {
    return idade >= 18
})

console.log('São maior de idade: ', maiorDeIdade)




// 9. Simulando carrinho de compras
    // Crie um array com os preços de produtos em um carrinho de compras.
    // Utilize um laço for ou for...of para calcular o valor total da compra.
    // Em seguida, aplique um desconto de 20% sobre o total e exiba o valor final no console.

let carrinho = [21,22,23,50,80,100,250,]
let total = 0
for (let precoCarrinho of carrinho){
    total += precoCarrinho
}
let totalComDesconto = total * 0.8

console.log('Total com 20% de desconto: ',totalComDesconto)




// 10. Lista de tarefas
    // Crie dois arrays:
        //    um array com nomes de tarefas
        //    outro array com valores booleanos indicando se a tarefa foi concluída (true ou false)
    // Utilize o método filter para criar um novo array contendo apenas as tarefas que não foram concluídas.
// Exiba a lista de tarefas pendentes no console.

let tarefas = ['Academia',
    'Comprar Ração', 
    'Ler',
    'Estudar',
    'fazer almoço',
    'Mercado']

let concluidas = [false, 
    true, 
    false, 
    true,
    true,
    true
]

let tarefasPendentes = tarefas.filter((tarefa,index) => { // descobri que quando a tarefa era retirada do callback (tarefa,index), o terminal retornava Tarefas Pendentens: []
    return concluidas[index] === false
})
console.log('Tarefas Pendentens:', tarefasPendentes)

No exercício 10, descobri que quando a tarefa era retirada do callback (tarefa,index), o terminal retornava Tarefas Pendentens: []