var config = {}; config.nivel1 = { min:0, max:0.5, desc:"Completo Inciante" } config.nivel2 = { min:0.5, max:0.8, desc:"Sólida compreensão dos fundamentos" } config.nivel3 = { min:0.8, max:1.0, desc:"Tornando-se um agregador" } config.nivel4 = { min:1.0, max:1.4, desc:"Completo agregador" } config.nivel5 = { min:1.4, max:1.7, desc:"Agregador consolidado" } config.nivel6 = { min:1.7, max:2.0, desc:"Tornando-se um multiplicador" } config.nivel7 = { min:2.0, max:2.4, desc:"Multiplicador consolidado" } var niveis = []; for(var i = 1; i<8;i+=1){ niveis.push(config["nivel"+i]); } function CalculadoraSalario(niveis){ this.niveis = niveis; //variáveis de interpolação simples... this.escala1 = 0.5; this.salario1 = 2500; this.escala2 = 2; this.salario2 = 15000; } CalculadoraSalario.prototype.calcula = function(escala){ var salario = this.salario1 + ((escala - this.escala1)/(this.escala2-this.escala1))*(this.salario2-this.salario1); return salario; } CalculadoraSalario.prototype.getDescricao = function(escala){ if(escala >= 2.4) return "Eu sou seu fã!"; if(escala < 0) return "Você é melhor que isso!"; var nivelInformado = this.niveis.filter(function(nivel){ return (escala>=nivel.min && escala<nivel.max); })[0]; console.log(nivelInformado); if(nivelInformado){return nivelInformado.desc;} } var calculadoraDeSalario = new CalculadoraSalario(niveis); var elButton = document.getElementById("calcula"); var elNivel = document.getElementById("nivel"); var elSalario = document.getElementById("salario"); var elDescricao = document.getElementById("descricao"); elButton.addEventListener("click", function(e){ //esvazia elementos antes de preenchê-los elSalario.innerHTML = ""; elDescricao.innerHTML = ""; var escala = elNivel.value; var escalaNumber = parseFloat(escala); //validaçãoes if(isNaN(escalaNumber)){ alert("Digite um número!"); return;}; if(escala.toString().indexOf(",")>-1){ alert("A escala não deve ser preenchida com vírgula!");return; } var salario = calculadoraDeSalario.calcula(escala); var salario = salario.toFixed(2); var descricao = calculadoraDeSalario.getDescricao (escala); //insere valor nos elementos hmtl elSalario.innerHTML = "R$" + salario; elDescricao.innerHTML = descricao; });
<div class="form-group"> <label for="nivel">Nível:</label> <input type="text" placeholder="Digite a escala em que você se encontra entre 0 e 2.4" class="form-control" id="nivel"> </div> <button id="calcula" type="button" class="btn btn-success">Quanto devo ganhar?</button> <div id="result" class="jumbotron"> <div class="container"> <h1 id="descricao"></h1> <h2 id="salario"><h2> </div> </div>