如果长度超过给定的最大字符串长度(第二个参数),则截断字符串(第一个参数)。 以...结尾返回截断的字符串。
truncateString("A-tisket a-tasket A green and yellow basket", 11) should return "A-tisket...".
truncateString("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and
yellow basket".length) should return "A-tisket a-tasket A green and yellow basket".
truncateString("A-", 1) should return "A...".
思路
三种情况选择条件语句
字符串截取选用substr,substring,slice
function truncateString(str, num) {
if(num < 4) {
return str.substr(0,num) + "...";
} else if(num<str.length) {
return str.substring(0,num-3) + "...";
}
return str.slice(0,num+3);
}
truncateString("A-tisket a-tasket A green and yellow basket", 11);
相关
str.substr(start[, length])
str.substring(start[, indexEnd])
str.slice(start[, indexEnd])
-
start为负数时,表示起始索引
substr: start => strLength + start subsring: start => 0 (以及strat=NaN时) slice: start => strLength + start
-
start为正数,且大于str.length时
substr: str.substr => 空字符 subsring: str.substr => str slice: str.substr => str
-
第二个参数意义
substr: 截取长度 (length=0或负值:str.substr => 空字符) subsring: 结束索引 (Start > indexEnd,则 substring 的执行效果就像两个参数调换了一样) slice: 结束索引
省略第二个参数,均截取到结尾
substring 和 slice 的截切范围均不包含indexEnd
有其他好的方法或思路的道友,不妨在沙发区神交一番。
对文章内容或方法有深刻理解,也请指点一二。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。