Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

85
Visualizações
ReplaceAll no reemplaza todo en función recursiva

Estoy usando una función recursiva que toma una cadena de plantilla como esta:

 <div class='${classes}'>

y reemplaza el marcador de posición literal de la plantilla ${clases} con el valor de un objeto que se ve así:

 { classes: 'bg-${color} text-${color}', color: 'blue' }

Algo a tener en cuenta aquí es que dentro del objeto, hay más anidamiento de cadenas de plantilla, de ahí el motivo de la función recursiva.

Lo que no puedo entender es por qué la función reemplazar todo solo reemplaza la primera instancia de ${color} y deja la segunda sin definir.

Fragmento de trabajo a continuación:

 function buildTemplate(string) { var matched = false; string = string.replaceAll(/\$\{(.*?)\}/g, function (match, key) { if (match) { matched = true; } const selection = selectors[key]; delete selectors[key]; return selection; }); if (matched) { string = buildTemplate(string); } console.log(string); } let templateString = "<div class='${classes}'>"; const selectors = { classes: 'bg-${color} text-${color}', color: 'blue' } buildTemplate(templateString);

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Está eliminando selectors , cuando lo necesita dos veces.
Eliminar línea;

 // delete selectors[key]

o a selection no se le asigna nada

No es necesario eliminar nada cuando se trata de un objeto al que se accede a través de una clave.

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda