JavaScript中实现字符串重复最直接的方式是使用ES6引入的String.prototype.repeat()方法,它接受非负整数参数返回重复后的新字符串;不支持时可用Array(n+1).join(str)或循环拼接兼容旧环境。
JavaScript 中实现字符串重复,最直接的方式是使用原生的 String.prototype.repeat() 方法,它简洁、高效且语义清晰。
ES6 引入了 repeat(),接受一个非负整数参数,返回将原字符串重复指定次数后的新字符串:
"a".repeat(3) → "aaa"
"hi ".repeat(2) → "hi hi "
"x".repeat(0) → ""(空字符串)NaN 或大于 2^31−1 的值会抛出 RangeError
若需支持不支持 repeat() 的老版本浏览器(如 IE),可自行封装一个 polyfill 或工具函数:
Array(n + 1).join(str)(注意:当 n === 0 时,Array(1).join(str) 返回空字符串,符合预期)function repeat(str, count) { if (typeof str !== 'string') str = String(str); count = Math.floor(Number(count)); if (count < 0 || !isFinite(count)) return ''; return Array(count + 1).join(str);}
重复操作看似简单,但容易忽略几个关键细节:
立即学习“Java免费学习笔记(深入)”;
repeat() 不修改原字符串,始终返回新字符串(字符串在 JS 中不可变)"x".repeat(2.9) 等价于 "x".repeat(2)
for 循环反复 += 拼接长字符串,V8 等引擎虽已优化,但数组 join 或 repeat 仍更可靠