查找变量值

时间:2014-01-22 10:22:49

标签: javascript math

我的应用中有一些输入:<_input code/> + <_input code/> = <_input code/>

我们假设第一个输入名称是a,第二个和第三个输入的名称是bc。我填写了我的意见: 7 + x = 12

有没有办法计算x值?

我希望从我的剧本中得到什么:

它在输入值中找到变量。

  1. 它会检查我的表单填写的所有字段。
  2. 它在输入值中找到变量。
  3. 从给定的信息脚本计算变量的值。
  4. 多少输入无关紧要。我只想找到x的价值。有没有图书馆可以做到这一点?

    function calculcateA(b,c){
       return c-b;
    }
    
    if(inputA === 'x'){
        alert(calculateA(inputB,inputC));
    }
    

    依此类推......这个函数没有任何问题,但我想像WolframAplha一样自动化这个过程。

2 个答案:

答案 0 :(得分:0)

以下是一些可以解决问题的代码。

function calculate() {
    var varIndex = -1;

    //Ensure that at least two three arguements are passed
    if (arguments.length < 3) {
        throw "You need at least three parameters to make an equation";
    }

    //Make sure that there is only one variable
    for (var i = 0; i < arguments.length; i++) {
        if (isNaN(arguments[i])) {
            if (varIndex != -1) {
                throw "You can't have two variables";
                return;
            }
            varIndex = i;
       }
    }

    //If variable has been found
    if (varIndex != -1) {
        var answer = 0;
        //If variable is at the last position, add all constants
        if (varIndex == types.length - 1) {
            for (var j = 0; j < arguments.length - 1; j++) {
                answer = answer + j;
            }
        } else {
            //Otherwise Deduct all values from the last
            answer = arguments[arguments.length - 1];
            for (var k = 0; k < arguments.length - 1; k++) {
                if (k == varIndex) { continue; }
                answer = answer - j;
            }
        }

        //Return Result
        return { variable: arguments[varIndex], answer: answer };
    }
    else {
        throw "You need at least one variable";
        return;
    }
}

您将使用以上内容:

var a = document.querySelector("input[name=a]");
var b = document.querySelector("input[name=b]");
var c = document.querySelector("input[name=c]");

var calcBtn = document.getElementById("calculate");


calcBtn.addEventListener("click", function () {
    try {
        var result = calculate(a.value, b.value, c.value);
        console.log("The value of " + result.variable + " is " + result.answer);
    } catch (e) {
        console.log(e);
    }
});

答案 1 :(得分:0)

对你来说最好的事情,我想是找到一些解决方程式的库。如果你需要解决更大的方程组,那么可能与线性代数有关。 无法真正告诉您一个确切的解决方案,因此您必须自己搜索。