vue源码——重复一个字符串n次

重复一个字符串n次, 我第一反应的思路是循环n次

但是vue源码中是这样写的

function repeat(str, n) {
  var res = ''
  while (n) {
    if (n % 2 === 1) {
      res += str
    }
    if (n > 1) {
      str += str
    }
    n >>= 1
  }
  return res
}

console.log(repeat('a', 5)) // aaaaa

这种写法的好处: 减少了循环次数
n >>= 1相当于n = Math.floor(n/2)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,877评论 0 38
  • 数组的介绍 数组介绍概念: 就是将若干个数据以一定的顺序放在一起的一个集合体,整体上就称之为“数组”。数组就是一列...
    全满阅读 254评论 0 0
  • 参考基础教程的整理,方便记忆 一、Object对象 (O大写) 所有其他对象都继承自这个对象。Object本身也是...
    Viaphlyn阅读 2,346评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,390评论 0 2
  • 第五章******************************************************...
    fastwe阅读 695评论 0 0