Repeat a string repeat a string

string.png

要求如下:
string2.png
题目和要求都讲的很清楚了,我就直接怼方法了!

第一种 for( ) 循环:

  1. function repeatStringNumTimes(str, num) {
  2. var a = "";
  3. if(num < 0){
  4. return "";
  5. }else{
  6. for(var i = 0; i < num; i++){
  7. a += str;
  8. }
  9. return a;
  10. }
  11. }
  12. repeatStringNumTimes("abc", 3);

这种写法还可以化简:

  1. function repeatStringNumTimes(str, num) {
  2. var a = "";
  3. for(var i = 0; i < num; i++){
  4. a += str;
  5. }
  6. return a;
  7. }
  8. repeatStringNumTimes("abc", 3);

第二种 for( ) + String.concat( ):

  1. function repeatStringNumTimes(str, num) {
  2. var a = str;
  3. if(num < 0){
  4. return "";
  5. }else{
  6. for(var i = 1; i < num; i++){
  7. str = str.concat(a);
  8. }
  9. return str;
  10. }
  11. }
  12. repeatStringNumTimes("abc", 3);

这里要注意一下,for( ) 循环只循环了2次,第一种方法是循环了3次;原因在于第一种方法定义的 a = “”; 而第二种方法定义的 a = str;

第三种方法 for( ) + push( ) + join( ) :

  1. function repeatStringNumTimes(str, num) {
  2. var a = [];
  3. if(num < 0){
  4. return "";
  5. }else{
  6. for(var i = 0; i < num; i++){
  7. a.push(str);
  8. }
  9. return a.join("");
  10. }
  11. }
  12. repeatStringNumTimes("abc", 3);

怎么说呢!虽然实现了需求,但是太麻烦了!

第四种方法 while( ) 循环 :

  1. function repeatStringNumTimes(str, num) {
  2. var a = "";
  3. while(num > 0){
  4. a += str;
  5. num--;
  6. }
  7. return a;
  8. }
  9. repeatStringNumTimes("abc", 2);

是不是看着很清爽!

版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。