JavaScript:三種簡便方法生成重復的字符串(字符串乘法)
阿新 • • 發佈:2018-11-03
簡便 調用方法 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:三種簡便方法生成重復的字符串(字符串乘法)