Neste desafio o problema a ser resolvido é um pouco mais complexo. Nele vamos receber uma array de números que podem ser tanto números positivos, negativos ou o valor 0.
A proposta do exercício visa retornar a proporção destes números em relação ao valor inteiro.
Como no exemplo abaixo:
Para fazer isso, logicamente vamos dividir o valor de números positivos, negativos e zeros pela quantidade de itens da nossa array.
A primeira variável que precisamos encontrar precisa fazer referência ao tamanho da nossa array como pode ser visto abaixo:
Depois disso é necessário a criação de 3 variáveis, a primeira representa a quantidade de números acima de 0, a segunda serão números a baixo de zero e a terceira números iguais a zero.
Iremos representar estes números da seguinte maneira:
A primeira vista este trecho de código pode causar uma certa estranheza como foi para mim, mas este trecho de codigo significa o mesmo que três variáveis escritas desta forma:
Como podemos observar, as três variáveis fazem um papel importante começando com zero para depois serem modificadas.
Vamos utilizar um método já utilizado em exercícios anteriores para incrementá-lo. Usaremos um FOR com 3 condicionais que farão este incremento dos valores, desta forma:
Desta forma vamos percorrer o array e no caso de um número acima de 0 adicionaremos +1 a variável "positiveCount", no caso de uma variável a baixo de 0 adicionaremos +1 a variável "negativeCount" e números iguais a zero adicionaremos +1 a variável "zeroCount".
Depois disso vamos criar 3 novas variáveis:
Essas 3 variáveis são simplesmente os valores de números positivos, negativos e zeros divididos pelo valor do tamanho da array, porem é utilizado o método de javascript toFixed() para serem apresentadas mais casas decimais.
Conforme pedido no exercício, 6 casas decimais a baixo da vírgula.
Por último, mas não menos importante, no exercício é pedido para os dados retornados sejam enviados a partir de um console.log, mas mais que isso, eles devem ser enviados um abaixo do outro desta forma:
Para fazer isso faremos o codigo da seguinte forma:
Ao utilizar template string junto a espaçadores representados por "\n" é possível pular linhas e por fiz retornar os valores como foram pedidos.
Utilizando essas logicas nossa função vai ficar assim:
Top comments (0)