javaScript中的运算符

javaScript中的运算符,javascript,Javascript,我可以使用以下运算符: "wo" == ("man" || "wo"); "wo" == ("man" || "wo"); 或 如果没有,我还可以使用其他技术吗 目的是在条件中保存具有不同值的代码长度 if(orderSubType == (sdcConstants().orderSubType.UNBAR_0 || sdcConstants().orderSubType.UNBAR_00

我可以使用以下运算符:

"wo" == ("man" || "wo");
"wo" == ("man" || "wo");

如果没有,我还可以使用其他技术吗

目的是在条件中保存具有不同值的代码长度

if(orderSubType == (sdcConstants().orderSubType.UNBAR_0 || 
                    sdcConstants().orderSubType.UNBAR_00 || 
                    sdcConstants().orderSubType.UNBAR_OG) && 
                    item.source == sdcConstants().source.EXT && 
                    item.code == sdcConstants().CFSS.CFSS_VOICE_DUNNING){
       item.state = sdcConstants().servAction.DELETE;
}else{
       item.state = sdcConstants().servAction.NO_OPERATION;
}

可以使用数组并检查数组中是否存在该项。比如说,

x = ["man", "wo"];
if (x.indexOf("wo") != -1) {
    alert('found');
}
我可以使用以下运算符:

"wo" == ("man" || "wo");
"wo" == ("man" || "wo");
不是因为你想那样做,不是

目的是在条件下保存具有不同值的代码长度

处理针对多个值的测试的通常两种方法是
开关
或映射,但由于您的条件是不同属性和不同逻辑运算符的组合,因此不会给您带来太多好处

下面是一个使用
开关
(和yes的示例,在JavaScript中,这些
case
语句是正确的,JavaScript不限于Java或C等常量):

在这种情况下,您可以看到为什么我不认为它在
if
版本上为您购买任何东西:

if (    (orderSubType == sdcConstants().orderSubType.UNBAR_0 ||
         orderSubType == sdcConstants().orderSubType.UNBAR_00 ||
         orderSubType == sdcConstants().orderSubType.UNBAR_OG
        )
        && item.source == sdcConstants().source.EXT
        && item.code == sdcConstants().CFSS.CFSS_VOICE_DUNNING
    ) {
    item.state = sdcConstants().servAction.DELETE;
} else {
    item.state = sdcConstants().servAction.NO_OPERATION;
}

据我所知,没有,因为
“man”| |“wo”
的意思是
如果“man”是假的,那么“wo”,否则“man”
。对于这样的任务,您可能希望在数组中使用~.indexOf(element),或者在包含您要检查的属性的对象上使用.hasOwnProperty。将其格式化为:
如果(“wo”==“man”| |“wo”==“wo”){…}
@Qantas94Heavy:嗯,它接近我想要的。此代码不支持或运算符。它是否也适用于和操作员?x=[“人”,“我”];如果(x.indexOf(“wo”)!=-1{alert('found');}@MuneebAli:well
x
不能同时是两件事,所以我不认为使用AND运算符有什么意义。另请参见此问题:
中的
运算符仅迭代。这行不通。我编辑了我的答案。这很有效。检查这把小提琴的工作情况:它很有用,谢谢。这不能用数组和indexOf在内联三元运算符中完成吗?@briosheje:如果你想创建一个不必要的数组并进行不必要的方法调用,也可以用
indexOf
完成。如果这样做,则不需要三元。这是为了“目的是在条件中保存具有不同值的代码长度…”点:P@briosheje:啊,是的,我知道你在想什么:
item.state=conditionsHere?sdcConstants().servAction.DELETE:sdcConstants().servAction.NO_操作在这一点上,由于我们这里有很多条件,我认为您遇到了严重的可读性/调试/维护问题。