JavaScript算法练习:截断一个字符串

截断一个字符串
用瑞兹来截断对面的退路!

截断一个字符串!

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

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

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

function truncate(str,num){
    var a = '';
    if(num >= str.length){
        return str;
    }
    if(num <= 3){
        for(i = 0;i < num;i++){
            a += str[i];
        }
        return a + '...';
    }
    if(num > 3 && num < str.length){
    //如果指定参数大于3且小于字符串长度,遍历得到加上...共num个长度的字符
        for(i = 0;i < num - 3;i++){
            a += str[i];
        }function truncate(str, num) {
    var a = '';
    if (num >= str.length) { //如果指定参数大于字符串长度,则返回字符串
        return str;
    }
    if (num <= 3) { //如果指定参数小于3,遍历得到和指定参数相同长度的字符
        for (i = 0; i < num; i++) {
            a += str[i];
        }
        return a + '...';
    }
    if (num > 3 && num < str.length) { //如果指定参数大于3且小于字符串长度,遍历得到加上...共num个长度的字符
        for (i = 0; i < num - 3; i++) {
            a += str[i];
        }
        return a + '...';
    }
}
truncate("A-tisket a-tasket A green and yellow basket", 11);
truncate("areww",2);
THE END