55

数式である文字列があり、それを分割して計算したい場合。これを行うために eval() 関数を使用できることは知っていますが、これを行う別の方法があるかどうかに興味があります。具体的には、最初に文字列を分割することです。だから私は次のようなものを持っています

var myString = "225 + 15 - 10"
var newString = myString.split(" ");

これにより、myString が配列に変換されます。

["225", "+", "15", "-", "10"];

次のタスクは、すべての奇数番号の文字列を整数に変換することです。これには parseInt(); を使用できると思います。為に。私の質問は、「+」と「-」を実際の算術演算子に変換するにはどうすればよいですか? 最後に、計算できる数式が残るようにするにはどうすればよいですか?

これは可能ですか?

4

3 に答える 3

93
var math_it_up = {
    '+': function (x, y) { return x + y },
    '-': function (x, y) { return x - y }
}​​​​​​​;

math_it_up['+'](1, 2) == 3;
于 2012-10-25T21:59:22.210 に答える
0

条件を満たさないものにはisNaN(Number(array[x]))andを使用することを検討してください。switch

于 2012-10-25T22:00:04.800 に答える