Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
2
rated 0 times [  3] [ 1]  / answers: 1 / hits: 58413  / 13 Years ago, fri, april 29, 2011, 12:00:00

Is there a way to do something similar to either of the following:



var1 = 10; var2 = 20;
var operator = <;
console.log(var1 operator var2); // returns true


-- OR --



var1 = 10; var2 = 20;
var operator = +;
total = var1 operator var2; // total === 30

More From » variables

 Answers
19

Not out of the box. However, it's easy to build by hand in many languages including JS.



var operators = {
'+': function(a, b) { return a + b },
'<': function(a, b) { return a < b },
// ...
};

var op = '+';
alert(operators[op](10, 20));


You can use ascii-based names like plus, to avoid going through strings if you don't need to. However, half of the questions similar to this one were asked because someone had strings representing operators and wanted functions from them.


[#92481] Thursday, April 28, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
mustafaericho

Total Points: 322
Total Questions: 103
Total Answers: 110

Location: Montenegro
Member since Thu, Jun 16, 2022
2 Years ago
mustafaericho questions
Mon, May 31, 21, 00:00, 3 Years ago
Sun, May 23, 21, 00:00, 3 Years ago
Sat, Feb 13, 21, 00:00, 3 Years ago
Sat, Jan 2, 21, 00:00, 3 Years ago
Thu, Nov 12, 20, 00:00, 4 Years ago
;