我的应用中有一些输入:<_input code/> + <_input code/> = <_input code/>
。
我们假设第一个输入名称是a
,第二个和第三个输入的名称是b
和c
。我填写了我的意见:
7 + x = 12
有没有办法计算x
值?
我希望从我的剧本中得到什么:
它在输入值中找到变量。
多少输入无关紧要。我只想找到x
的价值。有没有图书馆可以做到这一点?
function calculcateA(b,c){
return c-b;
}
if(inputA === 'x'){
alert(calculateA(inputB,inputC));
}
依此类推......这个函数没有任何问题,但我想像WolframAplha一样自动化这个过程。
答案 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)
对你来说最好的事情,我想是找到一些解决方程式的库。如果你需要解决更大的方程组,那么可能与线性代数有关。 无法真正告诉您一个确切的解决方案,因此您必须自己搜索。