在JavaScript中使用三元组

时间:2010-08-19 10:30:55

标签: javascript

有没有更短的方式来写这个?

var ttt = "dd";
if (ttt.length < 3) 
ttt= "i" + ttt;

5 个答案:

答案 0 :(得分:3)

你的很短,但是如果你想使用conditional operator(a.k.a三元运算符),你可以做以下事情:

var ttt = "dd";
ttt = ttt.length < 3 ? "i" + ttt : ttt;

...或者如果字节非常珍贵(代码打高尔夫?),你也可以这样做:

var ttt = "dd".length < 3 ? "i" + "dd" : "dd";

......但那可以简化为:

var ttt = "idd";

...正如下面评论中提到的@Nick Craver

答案 1 :(得分:2)

同样结果的最短时间是:

var ttt="idd";

因为“dd”的长度为2.所以if总是为真,你总是会先写“i”

答案 2 :(得分:1)

另一种选择是使用正则表达式:

var ttt = "dd".replace(/^(\w?\w?)$/, 'i$1');

但是你有2个问题:)

答案 3 :(得分:0)

或者:

var ttt = "dd";
ttt = (ttt.length < 3 ? i : "") + ttt;

答案 4 :(得分:0)

还有一种方式与&amp;&amp;运算符而不是if

var ttt = "dd";
ttt.length < 3 && (ttt = "i" + ttt);