有没有更短的方式来写这个?
var ttt = "dd";
if (ttt.length < 3)
ttt= "i" + ttt;
答案 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);