5.9 KiB
5.9 KiB
title | localeTitle |
---|---|
Repeat a String Repeat a String | Repetir una cadena Repetir una cadena |
Recuerda usar Read-Search-Ask
si te atascas. Tratar de emparejar el programa y escribe tu propio código
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
Sugerencia: 1
No puede editar cadenas, tendrá que crear una variable para almacenar la nueva cadena.
intenta resolver el problema ahora
Sugerencia: 2
Cree un bucle para repetir el código tantas veces como sea necesario.
intenta resolver el problema ahora
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!
¡Solución por delante!
Solución de código básico:
function repeatStringNumTimes(str, num) {
var accumulatedStr = '';
while (num > 0) {
accumulatedStr += str;
num--;
}
return accumulatedStr;
}
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
- JS mientras bucle
- JS For Loops Explicado
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);
}
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á otrastr
y otra ... hasta que finalmentenum
sea 1. Y devolvemos todo el proceso.
Enlaces relevantes
Solución avanzada de código:
function repeatStringNumTimes(str, num) {
return num > 0 ? str.repeat(num) : '';
}
repeatStringNumTimes("abc", 3);
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
NOTAS PARA LAS CONTRIBUCIONES:
- 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 .
- Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . ( NO elimine ningún nombre de usuario existente )
Ver
Wiki Challenge Solution Template
para referencia.