7

javascriptでは次のようになります。

var inf = id + '|' + city ;

idまたはcityがnullの場合、infはnullになります。

idまたはcityがnullであるかどうかをわかりやすく言う方法はありますか?それから空白にします。

私はc#であなたが以下を行うことができることを知っています:

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

javascriptの同様の方法はありますか?

4

7 に答える 7

21

どうですか:

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

編集: 参加する前に「空白」の部分を削除できるため、id と都市の一方のみが null の場合、inf にはその部分だけが含まれ、両方が null の場合は 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
于 2012-04-06T15:48:22.590 に答える
15

トータルロングショットですが、これを試してください:

var inf = (id || "") + "|" + (city || "");
于 2012-04-06T15:47:13.090 に答える
5
var inf = (id == null ? '' : id) + '|' + (city == null ? '' : city)
于 2012-04-06T15:52:39.797 に答える
0
var inf = (id && city) ? (id+"|"+city) : "";
于 2012-04-06T15:57:58.137 に答える
0

c# と同等var inf = (id ?? "") + (city ?? "");(idcityが nullable の場合) は

var inf = (id || '') + (city || '');

これは「短絡評価」と呼ばれます。Null 可能性は JavaScript では問題になりませんが (js ではすべての変数が null 可能です)、割り当てる必要がidありcityます (ただし、のように値は必要ありませんvar id, city)。

于 2012-04-06T16:51:43.783 に答える
0
if (id != ""){
inf = id;
if (city != ""){ inf += " | " + city ;}
}
else 
inf= city;
于 2012-04-06T16:52:01.670 に答える