我的任务是"截断一个字符串(第一个参数),如果它超过给定的最大字符串长度(第二个参数).返回带有...结尾的截断字符串.
请注意,将三个点插入末尾将增加字符串长度.
但是,如果给定的最大字符串长度num小于或等于3,则在确定截断的字符串时,添加三个点不会增加字符串长度."
我写了代码:
function truncateString(str, num) {
if (num > str.length){
str.slice(num);
return str.append("...");
}
else if (num < 3) {
str.slice(3);
return str.append("...");
}
else {
return "This is not a string";
}
}
truncateString("A-tisket a-tasket A green and yellow basket", 11);
Run Code Online (Sandbox Code Playgroud)
但是,它没有做我需要它做的事情并且在每次运行时返回"这不是一个字符串".谁能帮我?
我建议使用…而不是...,因为它是一个单一的字符.
然后,
function truncate(str, max) {
return str.length > max ? str.substr(0, max-1) + '…' : str;
}
Run Code Online (Sandbox Code Playgroud)
注意str.substr(0, -1)返回空字符串.