算法练习9:字符串截取算法

该算法通过一个小例子来演示:

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

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

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

这里会使用到函数,slice() 方法提取一个字符串的一部分,并返回一新的字符串。

  函数说明:beginSlice从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 sourceLength + beginSlice 看待,这里的sourceLength 是字符串的长度 (例如, 如果beginSlice 是 -3 则看作是: sourceLength - 3)endSlice可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice会一直提取到字符串末尾。如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是, sourceLength - 3)。返回一个从原字符串中提取出来的新字符串。

function truncate(str, num) {
    if(num<=3){
        str=str.slice(0,num)+"...";
    }else if(num<str.length){
        str=str.slice(0,num-3)+"..."
    }
return str;
}

truncate("A-tisket a-tasket A green and yellow basket", 11);//A-tisket...

猜你喜欢

转载自www.cnblogs.com/chuanyueinlife/p/8986204.html