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);