1. 程式人生 > >JavaScript:三種簡便方法生成重復的字符串(字符串乘法)

JavaScript:三種簡便方法生成重復的字符串(字符串乘法)

簡便 調用方法 python 喜歡 fun 三種 bsp 三元 return

看到一個題目要求寫一個函數times,輸出str重復num次的字符串。

比如str:bac num:3

輸出:abcabcabc

除了利用循環還有幾種方法,我學習研究之後記下以下三種方法。

1. 遞歸,結合三元表達式更簡潔。

2. 數組的 join() 方法。

3. ES6的 repeat() 方法。ES6目前沒有全部兼容。

我最喜歡第一種,因為用的都是最基本的語法,沒有另外調用方法。

python可以 str*num ,最先誤以為js也行,驗證了。。。不行 Orz。。。

以下為三種方式代碼:

 1     //三元表達式+遞歸
 2     function times(str, num){
3 return num > 1 ? str += times(str, --num): str; 4 } 5 console.log(times(‘abc‘, 3)); 6 7 //數組方法 8 // 另外可用call()改變Array原型鏈上join()方法的對象並指向String 9 function times2(str, num){ 10 return new Array(num+1).join(str); 11 } 12 console.log(times2(‘abc‘, 3));
13 14 //ES6 repeat() 15 function times3(str, num) { 16 return num > 1 ? str.repeat(num): str; 17 } 18 console.log(times3(‘abc‘, 3));

JavaScript:三種簡便方法生成重復的字符串(字符串乘法)