检查总价值的功能

时间:2018-04-26 19:26:16

标签: javascript

我想检查计算器中的总值,以便我可以显示答案作为化学公式,例如在按下O后,其值为" 9"并添加值为" 8"我会得到17,我想制作一个能够检测价值并在这些方面说些什么的功能:"你已经创造了二氧化碳" 我只是想要一些指示或指针,因为我真的想学习,而且我仍然是新手,无论如何这里是计算器:



    $(document).ready(function(){
      var inputs=[""];
      var totalString;
      var operator1 = ["+"];
      var operator2 = ["."];
      var nums=[0,1,2,3,4,5,6,7,8,9];
    function getValue(input){
     if(inputs.length===1 && operator1.includes(input)===false){
        inputs.push(input);
      }
      else if(operator1.includes(inputs[inputs.length-1])===false){
        inputs.push(input);
      }
      else if(nums.includes(Number(input))){
        inputs.push(input);
      }
    update();
    }
      function update(){
          totalString= inputs.join("");
        $("#steps").html(totalString);
      }
      function getTotal(){
         totalString= inputs.join("");
        console.log(totalString + ": " + eval(totalString));
        $("#steps").html(eval(totalString));
      }
      
      $("a").on("click",function(){
        if(this.id==="deleteAll"){
          inputs = [""];
          update();
        }
        else if(this.id==="backOne"){
          inputs.pop();
          update();
        }
        else if(this.id==="total"){
          getTotal();
        }
        else{
          if(inputs[inputs.length-1].indexOf("+")===-1){
            getValue(this.id);
          }
          else {
            getValue(this.id);
          }
        } 
      });
    });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="text-center">
      
    </div>
    <div id ="calcOutput">
      <span id= "steps"></span>
      <hr/>
    </div>
    <div class="text-center"
         id="calculator">
      <a class="btn btn-danger" 
         id="deleteAll">AC</a>
      <a class="btn btn-danger"
         id="backOne">CE</a>
      <br/>
       <a class="btn btn-primary"
          value="7"
          id="7">H</a>
       <a class="btn btn-primary"
          value="8"
          id="8">O</a>
       <a class="btn btn-primary"
          value="9"
          id="9">C</a>
      <br/>
       <a class="btn btn-primary"
          value="4"
          id="4">N</a>
       <a class="btn btn-primary"
          value="5"
          id="5">F</a>
       <a class="btn btn-primary"
          value="6"
          id="6">S</a>
      <br/>
       <a class="btn btn-primary"
          value="1"
          id="1">Fe</a>
       <a class="btn btn-primary"
          value="2"
          id="2">Na</a>
       <a class="btn btn-primary"
          value="3"
          id="3">Cl</a>
      <br/>
      <a class ="btn btn-primary bigButton" id="total">=</a>
      <a class ="btn btn-primary bigButton" id="+">+</a>
    </div>
&#13;
&#13;
&#13;

感谢您的帮助以及其他所有评论!

1 个答案:

答案 0 :(得分:0)

我不确定我理解这种方法。 你想把17映射到二氧化碳吗?如果是这种情况,则可能有多种方法可以产生17,如FE + O + O =(1 + 8 + 8)= 17,这可能不是您期望的结果。我会说保持像二氧化碳,氧气等化合物的数组(图)。 然后在按下时附加文本而不是添加数字。 例如:用户按下C + O,然后使用所有具有CO的化合物检查阵列。