资讯专栏INFORMATION COLUMN

【译】JS基础算法脚本:字符串截取及三种字符截取法的差异

YuboonaZhang / 451人阅读

摘要:如果长度超过给定的最大字符串长度第二个参数,则截断字符串第一个参数。对文章内容或方法有深刻理解,也请指点一二。

如果长度超过给定的最大字符串长度(第二个参数),则截断字符串(第一个参数)。 以...结尾返回截断的字符串。

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.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

有其他好的方法或思路的道友,不妨在沙发区神交一番。
对文章内容或方法有深刻理解,也请指点一二。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84784.html

相关文章

  • JS基础算法脚本字符结尾

    摘要:需求给出字符串是否以给定的字符结尾思路或者方法思路相关是从起始点截取某个长度的字符串是截取个位置之间的字符串有其他好的方法或思路或者对各方法有更深理解的道友,不妨在沙发区神交一番。 需求 给出字符串是否以给定的字符结尾 confirmEnding(He has to give me a new name, name) should return true. 思路1 str.subst...

    Lucky_Boy 评论0 收藏0
  • JS基础算法脚本:数组分割

    摘要:方法返回一个从开始到结束不包括结束选择的数组部分浅拷贝到一个新数组对象方法通过删除现有元素和或添加新元素来更改一个数组的内容。 需求 给出一个数组,按长度要求分割成多维数组 chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6], 3) should return [[0, 1, 2], [3, 4, 5], [6]] chunkArrayInGroups([...

    djfml 评论0 收藏0
  • 字符的全排列

    摘要:问题输入一个字符串按字典序打印出该字符串中字符的所有排列。如此递归处理,从而得到所有字符的全排列。记斐波那契数列的第位这件事为,则有。其中,表示去掉那个开头字符的剩余字符串的全排列。 问题 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 地址:https://...

    sunny5541 评论0 收藏0
  • 专题

    摘要:专题安全攻防专题跨站脚本攻击,原理利用系统漏洞,将具有恶意攻击行为的可执行脚本植入系统,且会自动执行。 专题 /* * web安全攻防专题 * ------------------------------------------------------------------------ * xss:跨站脚本攻击(XSS,Cross-site scripting) * * * 1、...

    Leck1e 评论0 收藏0
  • JS基础算法脚本:子字符字符大写

    摘要:一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。返回值一个部分或全部匹配由替代模式所取代的新的字符串。 需求 给出一字符串,返回子字符首字符大写的字符串 titleCase(Im a little tea pot) should return Im A Little Tea Pot. 思路1 字符串小写后切割为数组 for循环操作数组元素的首字符 拼接字符...

    Worktile 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<