JavaScript String repeat()
repeat() 方法用來將字串重複指定的次數,回傳一個新字串。
語法:
str.repeat(count)
- count 是重複的次數,必須是 0 或正整數
- 回傳重複後的新字串
用法:
'abc'.repeat(3); // 'abcabcabc'
'abc'.repeat(2); // 'abcabc'
'abc'.repeat(1); // 'abc'
'abc'.repeat(0); // ''(空字串)
錯誤情況:
'abc'.repeat(-1); // RangeError
'abc'.repeat(Infinity); // RangeError
小數會被自動取整數:
'abc'.repeat(2.5); // 'abcabc'(等同於 repeat(2))
實際應用:
// 產生分隔線
'-'.repeat(50);
// '--------------------------------------------------'
// 縮排
function indent(level) {
return ' '.repeat(level);
}
indent(0) + 'root'; // 'root'
indent(1) + 'child'; // ' child'
indent(2) + 'grandchild'; // ' grandchild'
// 建立重複的字元填充
function pad(str, length, char) {
if (str.length >= length) return str;
return char.repeat(length - str.length) + str;
}
pad('5', 3, '0'); // '005'
pad('42', 5, '0'); // '00042'
repeat() 是 ES6 新增的方法。count 必須是非負整數,否則會拋出 RangeError。