jokebird

导航

freeCodeCamp:Truncate a string

截断一个字符串!

如果字符串的长度比指定的参数num长,则把多余的部分用...来表示。

切记,插入到字符串尾部的三个点号也会计入字符串的长度。

但是,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。

 1 /*思路
 2   字符串的长度str.length=字符串的位置.indexOf()+1;
 3   str.slice()负值索引提取字符串长度超出num的部分,以“...”替换replace();
 4   返回替换后的字符串;
 5   (注意:如果num>3,插入到字符串尾部的三个点号也会计入字符串的长度。)
 6 */
 7 function truncate(str, num) {
 8   if(str.length<=num){
 9     return str;
10   }
11   else if(str.length>num&&num>3){
12     return str.replace(str.slice(num-str.length-3),"...");
13   }
14   return str.replace(str.slice(num-str.length),"...");
15 }
16 
17 truncate("A-tisket a-tasket A green and yellow basket", 11);

 

posted on 2016-09-26 16:46  jokebird  阅读(169)  评论(0编辑  收藏  举报