ES6+ repeat()
1. 前言
本節介紹 ES6 的字符串新增方法 repeat
,以一個目標字符串進行聲明,對該字符串進行重復操作,但不會改變原字符串。
2. 方法詳情
使用語法:
let resultString = str.repeat(count);
該方法構造并返回一個新字符串,表示將原字符串重復 n 次,并不會改變原字符串。
參數說明:
參數 | 描述 |
---|---|
count | 介于 0 和正無窮大之間的整數: [0, +∞)。表示在新構造的字符串中重復了多少遍原字符串。count 取負數的時候會報錯,但是在 (-1.0] 之間不會報錯,而會把 count 處理成 0 |
3. 使用場景
- 可以通過這個方法拷貝一個相同的字符串;
- 取代循環拼接多個相同的字符串,會比使用 for 循環優雅,方便。
4. 實例
4.1 參數是小數
參數如果是小數,會被取整。
"imooc".repeat(2.6) // "imoocimooc"
參數 2.6 會被向下自動轉換成整數,注意這里不會進位成 3。
4.2 負數 和 Infinity
如果 repeat 的參數是負數或者 Infinity,會報錯。
'imooc'.repeat(Infinity) // RangeError
"imooc".repeat(-1) // 無效的數字
4.3 0~1 和 0~- 1
如果參數是 0 到 - 1 或 0 到 1 都會先進行取整運算,所以在這兩個范圍內都會被 repeat
視同為 0。
'imooc'.repeat(0.9) // ''
"imooc".repeat(-0.8) // ''
4.4 參數 NaN 等同于 0
'imooc'.repeat(NaN) // ''
4.4 參數是字符串
如果 repeat 的參數是字符串,則會先轉換成數字。
'imooc'.repeat('two') // ''
'imooc'.repeat('2') // 'imoocimooc'
5. 小結
本節講解了字符串的 repeat()
方法的使用,需要注意以下幾點:
- 重復次數不能為負數;
- 重復次數必須小于 infinity,且長度不會大于最長的字符串。