资讯专栏INFORMATION COLUMN

【译】JS基础算法脚本:字符串重复

DoINsiSt / 3094人阅读

摘要:需求给出字符串和重复次数,返回重复多次的字符串思路循环控制循环次数思路方法写法写法思路语句递归相关构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本递归

需求

给出字符串和重复次数,返回重复多次的字符串

repeatStringNumTimes("abc", 3)
repeatStringNumTimes("abc", -2) should return "".
思路1

while循环

num控制循环次数

function repeatStringNumTimes(str,num) {
    var newstr = "";
    while(num>0) {
        newstr += str;
        num--; 
    }
    
    return newstr;
}

repeatStringNumTimes("abc", 3);
思路2

str.repeat()方法

//写法1
function repeatStringNumTimes(str,num) {
    if(num>0) {
        return str.repeat(num);
    }
    return "";
}

//写法2
function repeatStringNumTimes(str,num) {
    return num > 0 ? str.repeat(num) : "";
}
repeatStringNumTimes("abc", 3);
思路3

if语句

递归

function repeatStringNumTimes(str,num) {
    if(num<0) {
        return "";
    } else if(num=0|1) {
        return str
    } else {
        return str + repeatStringNumTimes(str,num-1);
    }
}
repeatStringNumTimes("abc", 3);
相关
let resultString = str.repeat(count);

repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本

递归

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

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

相关文章

  • JS基础算法脚本:回文检测

    摘要:返回一个新的字符串,表示串转换为小写的调用字符。不会影响字符串本身的值。返回一个包含子字符的数组,确定分割位置。将数组中所有子元素拼接成一个字符串,不改变原数组。 需求 给出一个字符串,检测是否是回文,是则返回true,不是则返回false(忽略标点符号,大小写,空格) palindrome(A man, a plan, a canal. Panama) should return t...

    Turbo 评论0 收藏0
  • JS基础算法脚本:类数组(arguments)去重

    摘要:参数用来测试数组的每个元素的函数。调用时使用参数。返回表示保留该元素通过测试,则不保留。执行时的用于的值。那些没有通过测试的元素会被跳过,不会被包含在新数组中。有其他好的方法或思路的道友,不妨在沙发区神交一番。 需求 给出一个类数组,删除要求的重复数据,返回新数组 destroyer([1, 2, 3, 1, 2, 3], 2, 3) should return [1, 1] dest...

    mrcode 评论0 收藏0
  • JS基础算法脚本:查找符串中最长的子字符

    摘要:返回一组数中的最大值。返回数组中所有元素的连接起来的字符串,参数默认为,根据返回一个从开始参数到结束参数的新数组,不改变原数组有其他好的方法或思路的道友,不妨在沙发区神交一番。 需求 给出一个字符串,查找字符串中最长的子字符,并返回其长度 findLongestWord(Google do a barrel roll) 思路1 字符串分割 循环判定,暂存较大值 循环结束,返回最大值...

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

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

    Worktile 评论0 收藏0
  • JS基础算法脚本符串截取及三种字符截取法的差异

    摘要:如果长度超过给定的最大字符串长度第二个参数,则截断字符串第一个参数。对文章内容或方法有深刻理解,也请指点一二。 如果长度超过给定的最大字符串长度(第二个参数),则截断字符串(第一个参数)。 以...结尾返回截断的字符串。 truncateString(A-tisket a-tasket A green and yellow basket, 11) should return A-tis...

    YuboonaZhang 评论0 收藏0

发表评论

0条评论

DoINsiSt

|高级讲师

TA的文章

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