Separar itens obtidos a partir da função repeat

2 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Separar itens obtidos a partir da função repeat

Mensagem por Connor R. 30.01.21 1:23

Detalhes da questão


Endereço do fórum: https://somosmugiwara.forumeiros.com/forum
Versão do fórum: ModernBB

Descrição


Estou tentando separar os itens obtidos a partir da função repeat, veja o código abaixo. Gostaria que a saída da função fosse algo parecido com:

"teste","teste","teste","teste"

Mas a função atualmente retorna os valores todos juntos e sem qualquer separação. Já tentei de tudo e foi sem sucesso. Vejo que a solução seria criar uma função, mas como eu poderia puxar cada elemento do resultado do repeat se separa-los?

Código:

var t = ["teste"]
t.repeat(4)

Edit: Fiz algo abaixo, teria como melhorar?

Código:

function repeticao(vezes,frase) {
    var repeatt = [ ];
        for (let i = 1; i <= vezes; i++) {
            var prox= frase;
            repeatt.push(prox);
        }

    return repeatt;
}
Connor R.

Connor R.
Super Membro

Membro desde : 06/08/2012
Mensagens : 1253
Pontos : 2021

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Membro Entusiasta
  • 0

Tópico resolvido Re: Separar itens obtidos a partir da função repeat

Mensagem por RafaelS. 30.01.21 13:46

Bom dia @Connor R.,

Não querendo ser desagradável mas vale ressaltar que o suporte oferecido neste fórum deve ser relacionado ao serviço Forumeiros. Posto isto, lembre-se de nos dar um pouco de contexto sobre a utilização do código nos seus futuros tópicos, para que não transformemos o FdF num mero StackOverflow.  Rindo

Em relação à sua dúvida, é possível realizar tal função com o seguinte código:
Código:
var str = "teste";
var len = str.length;
var n = 4;
var str2 = str.repeat(n);
 
var result = [];
for(i=0; i<n; i++) {
result.push(str2.substr(len*i,len))
}
 
console.log(result);

Onde n é o número de vezes que o elemento str será repetido e result o array final contendo todos os elementos.

Note que o .substr() é a melhor forma de dividir/separar a frase que obtivemos a partir do .repeat().

Num curto espaço de tempo foi esta a solução que me ocorreu. Certamente haverão melhores maneiras de o fazer (ou não), mas este código já faz na perfeição aquilo que pediu.

Atenciosamente,
RafaelS. King
RafaelS.

RafaelS.
Membro Entusiasta
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Separar itens obtidos a partir da função repeat

Mensagem por Connor R. 31.01.21 19:52

Olá @RafaelS., o objetivo é criar um item para ser vendido na loja do fórum. Este item quero que seja aleatório sabe, tipo um pack de cartas de yu gi oh. Quanto a questão eu também fiz um código parecido, mas acabei encontrando algo melhor, seria a função abaixo. No caso, vai repetir o nome "teste" 10 vezes. Por fim, a dúvida foi sanada. Muito obrigado.

Código:

Array.from({length: 10}).fill(["teste"]).flat()
Connor R.

Connor R.
Super Membro

Membro desde : 06/08/2012
Mensagens : 1253
Pontos : 2021

http://somosmugiwara.forumeiros.com https://www.facebook.com/kadandajr https://twitter.com/SomosMugiwara

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Separar itens obtidos a partir da função repeat

Mensagem por RafaelS. 01.02.21 15:57

@Connor R., ótimo!

Como a questão era relativa à separação dos elementos retornados pela função .repeat(), tive de me limitar a ela pois não sabia o que realmente pretendia fazer.

Tópico resolvido


Movido para "Questões resolvidas".
RafaelS.

RafaelS.
Membro Entusiasta
Membro Entusiasta

Membro desde : 26/04/2014
Mensagens : 5746
Pontos : 7156

http://techmais.forumeiros.com/

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos