2017-07-04 3 views
0

Ich möchte Zeichenfolge mit Fallback-Option ersetzen. zum BeispielWie ersetzen String mit Fallback-Option?

var x = " Hello {{first_name | fallback : 'User' }} " 
var f_name = "ME"; 

in obigem Fall möchte ich, wenn f_name dann mögen diese

Hello ME 

andere weise Ergebnis

definiert führen

Hello User 

sein wird, so wie ich dies tun kann?

+1

Verwenden Sie ein Framework oder View-Plugin für jQuery? Weil diese Notation nicht von JavaScript oder jQuery selbst unterstützt wird. – str

+0

Ich benutze Express-Framework –

+2

@Kirill weil '" Hallo "+ (Vorname ||" Benutzer ")' ist eleganter :) –

Antwort

6

ES5:

var x = "Hello " + (first_name || "User") 

ES6:

let x = ´Hello ${first_name || "User"}´ 

bearbeiten nach dem neuen Frage in den Kommentaren: wenn Sie einen replace oder etwas gelten:

var x = "Hello " + (first_name ? first_name.replace(/some.RegEx/g, '') : "User") 
+0

Danke @ Jeremy Thille :) –

+0

können wir mehr Dynamik tun? Ich meine, mit Regex oder irgendetwas anderem? –

+0

Beispiel: Wenn f_name definiert ist, ersetzen Sie es mit einem Regex wie x.replace (hier ist der Regex Code, f_name). –

0

Das sollte funktionieren.

x = x + (f_name === null ? "User" : f_name); 
+0

Überprüfen Sie es, das funktioniert nicht wie erwartet, wenn f_name nicht definiert ist. – dloeda

+0

Sie haben Recht. Damit dies funktioniert, muss f_name definiert werden. Ich habe es falsch verstanden. –