亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

ES6+ repeat()

1. 前言

本節介紹 ES6 的字符串新增方法 repeat,以一個目標字符串進行聲明,對該字符串進行重復操作,但不會改變原字符串。

2. 方法詳情

使用語法:

let resultString = str.repeat(count);

該方法構造并返回一個新字符串,表示將原字符串重復 n 次,并不會改變原字符串。

參數說明:

參數 描述
count 介于 0 和正無窮大之間的整數: [0, +∞)。表示在新構造的字符串中重復了多少遍原字符串。count 取負數的時候會報錯,但是在 (-1.0] 之間不會報錯,而會把 count 處理成 0

3. 使用場景

  1. 可以通過這個方法拷貝一個相同的字符串;
  2. 取代循環拼接多個相同的字符串,會比使用 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,且長度不會大于最長的字符串。