拆分字符串

时间:2016-03-26 20:57:32

标签: javascript string if-statement

如何在拆分字符串之间放置if语句?显然我可以这样做:

if(lang == 'eng'){
  var a_string = 'hello';
}else if(lang == 'ger'){
  var a_string = 'hallo';
}

但是对于某些情况来说这太长了。我想到的是以下内容:

var lang = (e.g. 'ger' or 'eng');

var a_string = 'h' + if(lang == 'eng'){'e'}else if(lang == 'ger'){'a'} + 'llo';

有没有办法在拆分字符串之间编写if语句?

2 个答案:

答案 0 :(得分:3)

您可以使用conditional (ternary) operator

  

条件(三元)运算符是唯一采用三个操作数的JavaScript运算符。此运算符经常用作if语句的快捷方式。

     

语法

condition ? expr1 : expr2 

var lang = 'eng';
document.write('h' + (lang == 'eng' ? 'e' : lang == 'ger' ? 'a' : '') + 'llo' + '<br>');
lang = 'ger';
document.write('h' + (lang == 'eng' ? 'e' : lang == 'ger' ? 'a' : '') + 'llo');

Logical AND (&&)Logical OR (||)的其他解决方案可能是

var lang = 'eng';
document.write('h' + (lang == 'eng' && 'e' || lang == 'ger' && 'a' || '') + 'llo' + '<br>');
lang = 'ger';
document.write('h' + (lang == 'eng' && 'e' || lang == 'ger' && 'a' || '') + 'llo');

答案 1 :(得分:1)

或者,您可以将键/值对存储在对象中,然后不需要直接检查asm()的值。如果您需要多次重复使用相同的值,这可能会有所帮助。

lang