开发者问题收集

字符串中的 JavaScript 空值

2012-04-06
26720

在 javascript 中,我有以下内容:

var inf = id + '|' + city ;

如果 id 或 city 为空,则 inf 将为空。

是否有任何巧妙的方式可以表示如果 id 或 city 为空则将其留空。

我知道在 c# 中您可以执行以下操作:

var inf = (id ?? "") + (city ?? "");

javascript 中有类似的方法吗?

3个回答

怎么样:

var inf = [id, city].join('|');

编辑: 您可以在连接之前删除“空白”部分,这样,如果 id 和 city 中只有一个为空,则 inf 将只包含该部分,如果两者都为空,则 inf 将为空。

var inf = _([id, city]).compact().join('|'); // underscore.js
var inf = [id, city].compact().join('|'); // sugar.js
var inf = [id, city].filter(function(str) { return str; }).join('|'); // without helpers
psyho
2012-04-06

完全不可能,但可以试试这个:

var inf = (id || "") + "|" + (city || "");
Elliot Bonneville
2012-04-06
var inf = (id == null ? '' : id) + '|' + (city == null ? '' : city)
Philipp
2012-04-06