freeCodeCamp/guide/spanish/certifications/javascript-algorithms-and-d.../basic-algorithm-scripting/repeat-a-string-repeat-a-st.../index.md

5.9 KiB
Raw Blame History

title localeTitle
Repeat a String Repeat a String Repetir una cadena Repetir una cadena

:triangular_flag_on_post: Recuerda usar Read-Search-Ask si te atascas. Tratar de emparejar el programa :busts_in_silhouette: y escribe tu propio código :pencil:

:checkered_flag: Explicación del problema:

El programa es muy simple, tenemos que tomar una variable y devolver esa variable repetida cierta cantidad de veces. No es necesario agregar espacio ni nada, simplemente repítalo en una sola cadena.

Enlaces relevantes

:speech_balloon: Sugerencia: 1

No puede editar cadenas, tendrá que crear una variable para almacenar la nueva cadena.

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 2

Cree un bucle para repetir el código tantas veces como sea necesario.

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 3

Haga que la variable creada almacene el valor actual y agregue la palabra a la misma.

intenta resolver el problema ahora

¡Alerta de spoiler!

señal de advertencia

¡Solución por delante!

:beginner: Solución de código básico:

function repeatStringNumTimes(str, num) { 
  var accumulatedStr = ''; 
 
  while (num > 0) { 
    accumulatedStr += str; 
    num--; 
  } 
 
  return accumulatedStr; 
 } 

:rocket: Ejecutar código

Explicación del código:

  • Cree una variable de cadena vacía para almacenar la palabra repetida.
  • Use un bucle while o para repetir el código tantas veces como sea necesario de acuerdo con num
  • Luego, solo tenemos que agregar la cadena a la variable creada en el paso uno, y aumentar o disminuir el num dependiendo de cómo establezca el bucle.
  • Al final del bucle, devuelva la variable para la palabra repetida.

Enlaces relevantes

:sunflower: Solución de código intermedio:

function repeatStringNumTimes(str, num) { 
  if(num < 0) 
    return ""; 
  if(num === 1) 
    return str; 
  else 
    return str + repeatStringNumTimes(str, num - 1); 
 } 

:rocket: Ejecutar código

Explicación del código:

  • Esta solución utiliza la recursión.
  • Verificamos si num es negativo y devolvemos una cadena vacía si es verdadero.
  • Luego verificamos si es igual a 1 y, en ese caso, devolvemos la cadena.
  • Si no, agregamos la cadena a una llamada de nuestra función con num disminuyendo en 1, lo que agregará otra str y otra ... hasta que finalmente num sea 1. Y devolvemos todo el proceso.

Enlaces relevantes

:rotating_light: Solución avanzada de código:

function repeatStringNumTimes(str, num) { 
  return num > 0 ? str.repeat(num) : ''; 
 } 
 
 repeatStringNumTimes("abc", 3); 

:rocket: Ejecutar código

Explicación del código:

  • Esta solución tiene un enfoque declarativo.
  • Es similar a la tercera solución, excepto que utiliza la forma de operador ternario de la sentencia if .

Enlaces relevantes

:clipboard: NOTAS PARA LAS CONTRIBUCIONES:

  • :warning: NO agregue soluciones que sean similares a las soluciones existentes. Si cree que es similar pero mejor , intente fusionar (o reemplazar) la solución similar existente.
  • Agregue una explicación de su solución.
  • Categorice la solución en una de las siguientes categorías: Básica , Intermedia y Avanzada . :traffic_light:
  • Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . ( :warning: NO elimine ningún nombre de usuario existente )

Ver :point_right: Wiki Challenge Solution Template para referencia.