如何检查2个变量是否包含某些内容而另一个没有?

时间:2015-10-29 00:10:52

标签: javascript

我想输出var1var2var3的值以及我的代码以检查是否存在1个变量:

if (var1){
 return value = "some value -";  
} else
 return '';  
}

但是如果有一个或多个需要检查的变量如var1存在且var2不存在等等,

if (var1 && !var2 && var3){
 //do something
}else if (var1 && !var2 && !var3){    
 //do something
}else
 return '';

我做错了什么?基本上我想要的只是在字符串上添加一个破折号,这样我就可以得到some value - some value的输出,如果变量是空的,则不能获得some value -

2 个答案:

答案 0 :(得分:2)

将值放在数组中并使用.join

var values = [];
if (value1) {
    values.push(value1);
}
if (value2) {
    values.push(value2);
}
if (value3) {
    values.push(value3);
}
return values.join(" - ");

这很容易扩展到任意数量的变量。虽然也许它们应该只是在数组中开始,而不是分开变量。您可以在加入前使用values.filter()过滤掉空值。

答案 1 :(得分:1)

var var1;
var var2 = "1";
var var3 = "11";
var start = false;
var text = "";

if (var1) {
    text += var1;
    start = true;
}
if (var2) {
    if (start)
        text += " - ";
    text += var2;
    start = true;
}
if (var3) {
    if (start)
        text += " - ";
    text += var3;
}

console.log(text);