当前位置:首页 > JavaScript

js实现repeat

2026-04-06 07:42:28JavaScript

实现 JavaScript 的 repeat 功能

在 JavaScript 中,可以通过多种方式实现字符串或操作的重复执行。以下是几种常见的方法:

使用 String.prototype.repeat()

JavaScript 原生提供了 repeat() 方法,用于重复字符串指定次数:

js实现repeat

const str = 'abc';
const repeatedStr = str.repeat(3); // 'abcabcabc'

自定义 repeat 函数

如果需要自定义重复逻辑(如重复非字符串操作),可以编写一个通用的 repeat 函数:

function repeat(fn, times) {
  for (let i = 0; i < times; i++) {
    fn();
  }
}

// 示例:重复打印 3 次
repeat(() => console.log('Hello'), 3);

数组填充实现

利用数组的 filljoin 方法模拟字符串重复:

js实现repeat

function repeatStr(str, times) {
  return Array(times).fill(str).join('');
}

const result = repeatStr('xyz', 2); // 'xyzxyz'

递归实现

通过递归调用实现重复操作:

function repeatRecursive(str, times) {
  return times <= 0 ? '' : str + repeatRecursive(str, times - 1);
}

const output = repeatRecursive('123', 2); // '123123'

性能优化版本

对于高频调用场景,可以使用性能更优的实现:

function fastRepeat(str, times) {
  let result = '';
  while (times-- > 0) result += str;
  return result;
}

注意事项

  • 原生 repeat() 方法在大多数现代浏览器中支持,但在旧版本(如 IE)中需要 polyfill。
  • 自定义实现时需处理边界条件(如 times 为负数或非整数)。
  • 高频重复长字符串时,避免使用递归或简单循环,可能导致性能问题。

标签: jsrepeat
分享给朋友:

相关文章

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…