要求:
用瑞兹来截断对面的退路!
截断一个字符串!
如果字符串的长度比指定的参数num长,则把多余的部分用...来表示。
切记,插入到字符串尾部的三个点号也会计入字符串的长度。
但是,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。
结果:
truncate("A-tisket a-tasket A green and yellow basket", 11)
应该返回 "A-tisket...".
truncate("Peter Piper picked a peck of pickled peppers", 14)
应该返回 "Peter Piper...".
truncate("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length)
应该返回 "A-tisket a-tasket A green and yellow basket".
truncate("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length + 2)
应该返回 "A-tisket a-tasket A green and yellow basket".
truncate("A-", 1)
应该返回 "A...".
truncate("Absolutely Longer", 2)
应该返回 "Ab...".
代码:
1 function truncate(str, num) { 2 // Clear out that junk in your trunk 3 var newstr; 4 var strlength=str.length; 5 var newstrlength; 6 if(num>3&&strlength<=num){ 7 newstr=str; 8 }else if(num>3&&strlength>num){ 9 newstrlength=num-3;10 newstr=str.slice(0,newstrlength).concat("...");11 }else{12 newstrlength=num;13 newstr=str.slice(0,newstrlength).concat("...");14 }15 return newstr;16 //return str;17 }18 19 truncate("A-tisket a-tasket A green and yellow basket", 11);