Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中实现变量运算符?_Javascript_Syntax_Conditional Statements_Comparison_Operators - Fatal编程技术网

如何在JavaScript中实现变量运算符?

如何在JavaScript中实现变量运算符?,javascript,syntax,conditional-statements,comparison,operators,Javascript,Syntax,Conditional Statements,Comparison,Operators,我不确定这里使用的“variable”是否正确,但本质上,我想使用JavaScript创建一个变量操作符 到目前为止,我能想到的最好的事情是创建一个switch语句,但它似乎非常重复和乏味。有没有办法用条件运算符编写一个“If语句” 我想到的是: variableOperator(x, y, operator) { switch(operator) { case '>=': if (x >= y) { /

我不确定这里使用的“variable”是否正确,但本质上,我想使用JavaScript创建一个变量操作符

到目前为止,我能想到的最好的事情是创建一个switch语句,但它似乎非常重复和乏味。有没有办法用条件运算符编写一个“If语句”

我想到的是:

variableOperator(x, y, operator) {
    switch(operator) {
        case '>=':
            if (x >= y) {
                // logic
            }
            break;
        case '<=':
            if (x <= y) {
                // logic
            }
            break;
        case '<':
            if (x < y) {
                // logic
            }
            break;
        case '<':
            if (x < y) {
                // logic
            }
            break;
    }
}
编辑:我应该澄清一下:x和y不一定总是数字类型

主要是,我想知道字符串(a-z,a-z,0-9)比较(=或!=)和数字比较(,=)。我正在进行的项目不需要担心表情符号或其他复杂的字符


本质上,无论我是在比较字符串还是数字,我都想知道运算符本身是否是一个易于操作/更改的变量,这样就不必为每种情况编写单独的代码。

在查找表中对运算符进行编码,然后您可以使用它来确定要执行的操作。这将代码简化为一个
if
语句,用于检查值是否通过运算符检查。您还可以包括一个回退—如果找不到运算符,只需假设它失败

const运算符={
“>”:(a,b)=>a>b,
“>=”:(a,b)=>a>=b,
"");

doStuff(2,4,“在查找表中对运算符进行编码,然后您可以使用该编码来确定要执行的操作。这将代码简化为一个
if
语句,用于检查值是否通过运算符检查。您还可以包括一个回退-如果找不到运算符,则假定它失败

const运算符={
“>”:(a,b)=>a>b,
“>=”:(a,b)=>a>=b,
"");

doStuff(2,4),“不,这些是我们没有能力以那种方式操作的语言级工具。这些是你唯一关心的操作符吗?而且
a
b
只会是数字类型吗?你期望
variableOperator(“foo”,“bar”,"@RandyCasburn/VLAZ-很好的理解。我希望我在帖子上面的编辑中进行了澄清。我最初的评论是正确的。答案是否定的。但据我所知,你的前提仍然有缺陷。在你的例子中,你有4个条件语句,在4种情况下,具有基于条件的独立逻辑,但你的理想解决方案是通过一个运算符r以某种方式并且只使用一个逻辑位?看起来你仍然需要4个独立的逻辑位-这些逻辑位会去哪里?不,这些是我们无法以那种方式操作的语言级工具。这些是你唯一关心的运算符吗?而且
a
b
只会是数字类型?你期望什么
可变运算符(“foo”,“bar”,"@RandyCasburn/VLAZ-很好的理解。我希望我在帖子上面的编辑中进行了澄清。我最初的评论是正确的。答案是否定的。但据我所知,你的前提仍然有缺陷。在你的例子中,你有4个条件语句,在4种情况下,具有基于条件的独立逻辑,但你的理想解决方案是通过一个运算符r不知何故,只使用了一点逻辑?看起来很合理,你仍然需要4个独立的逻辑位-这些逻辑位会去哪里?太棒了。我本来打算推荐用类似的方式做咖喱,但这很有效。太棒了。我本来打算推荐用类似的方式做咖喱,但这很有效。
variableOperator(x, y, operator) {
    if (x operator y) {
        // logic
    }
}