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

155
Visualizações
Cómo llenar String/Array con recursividad de caracteres

tengo un pequeño problema en JS-Code y agradecería su ayuda Así que tengo una matriz como esta:

 let topMap= [ '................**********........................', '...............*..........*.......................', '..........*****............*........*.............', '.........*.................*.......*.*....*****...', ]

Ahora puedo llenar una línea en este mapa con el carácter '*'. Dividí esta matriz en una cadena, establecí un carácter en la posición y transfiero de nuevo a la matriz.

 const getCharFromArrayPosition = (x, y) => topMap[x][y] const replaceChar = (x,y) => { topMap= topMap.map(x => x.split('')) topMap[x][y] = char topMap = topMap.map(x => x.join('')) } const floodFill = (x,y) => { if(getCharFromArrayPosition(x,y) !== char){ replaceChar(x,y) floodFill(x,y+1) } return topMap }

Entonces, si console.log(floodFill(0,0) obtengo esto

 '**************************........................', '...............*..........*.......................', '..........*****............*........*.............', '.........*.................*.......*.*....*****...',

Estoy llenando la posición y y está bien pero, ¿cómo puedo llenar la posición x también con recursividad? O en otras palabras, ¿cómo pasar de un carácter a otro? gracias

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

0

En este momento, su recursividad solo va en una sola dirección: hacia la derecha.

 floodFill(x, y + 1)

Recurse en todas las direcciones en su lugar. También deberá realizar un seguimiento de los índices visitados para evitar una repetición interminable. También puede ser más fácil trabajar con una matriz de matrices que con una matriz de cadenas.

 const topMap = [ '................**********........................', '...............*..........*.......................', '..........*****............*........*.............', '.........*.................*.......*.*....*****...', ].map(str => [...str]); const visited = new Set(); const floodFill = (y, x) => { const key = y + '_' + x; if (visited.has(key) || topMap[y]?.[x] === undefined || topMap[y][x] !== '.') { return; } visited.add(key); topMap[y][x] = '*'; floodFill(y, x + 1); floodFill(y, x - 1); floodFill(y + 1, x); floodFill(y - 1, x); } floodFill(0, 0); console.log(topMap.map(subarr => subarr.join('')));

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