# Aula 14 - Lógica de Programação ## Exercícios para fazer durante a aula e para casa Questão 1. Faça uma função que verifica se um determinado array contém o elemento “academy” ```javascript= const array = ['cubos', 'academy', 'dev'] const includesElement = (array) => { return array.includes("academy") } ``` Questão 2. Faça uma função que indica o índice em que se encontra o elemento “academy” ```javascript= const array = ['cubos', 'academy', 'dev'] const indexOfElement = (array) => { return array.indexOf("academy") } ``` Questão 3. Utilizando o método splice(), faça uma função que filtra uma lista, removendo todos elementos que tem mais de 5 caracteres. ```javascript= const array = ['cubos', 'academy', 'dev'] const filterList = (array) => { for(let i = array.length - 1; i >= 0; i--){ if(array[i].length > 5){ array.splice(i, 1) } } return array } ``` Questão 4. Faça uma função que transforma um array de opções em um texto mas adequado, conforme a tabela abaixo: Dica: Lembre-se de que, além de indexOf() existe também a função lastIndexOf(), que retorna o índice da última ocorrência de um item. ```javascript= const paises = ['Brasil', 'Espanha', 'Argentina', 'Mexico'] const textTransform = (array) => { let newText = array.join(", ") let index = newText.lastIndexOf(","); newText = newText.substring(0,index) newText += ` ou ${array[array.length-1]}` return newText } ``` ## Exercícios de casa Questão 5. Faça uma função que coloca um array de números em ordem crescente. ```javascript= const numbers = [5, 2, 3, 0, 11, 7] const orderArray = (array) => { return array.sort(function(a, b){return a - b}) } ``` Questão 5. Você tem 30 segundos para modificar a questão anterior de modo que os números fiquem em ordem decrescente. ```javascript= const numbers = [5, 2, 3, 0, 11, 7] const orderArrayReverse = (array) => { return array.sort(function(a, b){return a - b}).reverse() } ``` Questão 6. Faça uma função que formata um telefone para que fique apenas numérico, com 9 dígitos. ```javascript= const phone = "+557199932-1232" const formatPhone = (number) => { return number.replace(/[^0-9]+/g, "").substr(-9, number.length) } ``` Questão 7. Faça uma função que verifique se um email é válido. Analise os exemplos abaixo para te auxiliar no raciocínio. ```javascript= const email = "jose@cubos.academy.br" const email = (email) => { let emailVerify = email.trim() if(emailVerify.length < 3) return false let indexAt = emailVerify.indexOf("@") if(indexAt === -1) return false let clippingEmail = emailVerify.substr(indexAt, emailVerify.length) let indexDot = clippingEmail.indexOf(".") if(indexDot === -1) return false clippingEmail = clippingEmail.substr(indexDot, clippingEmail.length) if(clippingEmail.length < 3) return false return true } ```