若是長度超過給定的最大字符串長度(第二個參數),則截斷字符串(第一個參數)。 以...結尾返回截斷的字符串。code
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爲負數時,表示起始索引string
substr: start => strLength + start subsring: start => 0 (以及strat=NaN時) slice: start => strLength + start
start爲正數,且大於str.length時io
substr: str.substr => 空字符 subsring: str.substr => str slice: str.substr => str
第二個參數意義function
substr: 截取長度 (length=0或負值:str.substr => 空字符) subsring: 結束索引 (Start > indexEnd,則 substring 的執行效果就像兩個參數調換了同樣) slice: 結束索引
省略第二個參數,均截取到結尾方法
substring 和 slice 的截切範圍均不包含indexEndco
有其餘好的方法或思路的道友,不妨在沙發區神交一番。
對文章內容或方法有深入理解,也請指點一二。字符