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

303
Visualizações
Mapeo de una cadena en una matriz 2D para un efecto de "zig-zag"

primera publicación, nuevo en la codificación en js. Estoy tratando de crear una función que tome una matriz de (2) cadenas como entrada, como ["coderbyte", "3"], siendo la primera cadena cualquier cadena aleatoria. La segunda cadena representa la cantidad de filas que la función debe crear en una matriz 2D. Luego, la función debe imprimir la primera cadena en un patrón en zigzag como el siguiente:

crear
 endeudado

Luego, la función debe devolver la palabra formada al combinar los caracteres a medida que itera a través de cada fila, por ejemplo, "creoebtdy". Declaré la matriz vacía y usando un ciclo while, logré colocar los primeros tres caracteres en los lugares correctos de la matriz usando el siguiente código:

 //initialize array of arrays of empty spaces rows = Number(strArr[1]) columns = strArr[0].length //console.log(rows) //console.log(columns) a = Array(rows).fill('').map(x => Array(columns).fill('')) let i = 0 //a[0][0]= strArr[0][0] while (i <= rows-1) { a[i][i]= strArr[0][i] //console.log(a) i++ } //console.log(a) //let j = i - 2 //console.log(i) while (i >= rows && i < rows*2) { let j = i - 2 a[j][i] = strArr[0][i] i++ j-- } console.log(a) } stringChal3(["coderbyte", "3"])

Recibo un error "TypeError: Cannot set property '5' of undefined" en la línea 23 (a[j][i]...) cuando intento colocar "e" y "r" en la matriz. No estoy seguro de cómo corregir el error. ¡Toda ayuda es muy apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dado que " toda ayuda es muy apreciada ", aquí hay una forma completamente diferente de hacer un efecto de zig-zag.

Viene de notar que el patrón de zigzag usa cada 4to carácter en las filas superior e inferior, pero en diferentes compensaciones/fases (0 para la fila superior y 2 para la fila inferior), y la fila del medio usa cada 2do carácter (comenzando del desplazamiento 1).

 const zigzag = str => { const zig = (period, phase) => [...str] .map((character, index) => (index % period == phase) ? character : ' ') .join(''); console.log(zig(4, 0)); console.log(zig(2, 1)); console.log(zig(4, 2)); } zigzag('coderbyte');

Versión que admite un número arbitrario de filas

 const zigzag = (str, rows) => { const zig = (period, phase) => [...str] .map((character, index) => [phase, period - phase].includes(index % period) ? character : ' ') .join(''); for (let row = 0; row < rows; ++row) { console.log(zig(rows + rows - 2 || 1, row)); } } zigzag('coderbyte', 3); console.log('another example:'); zigzag('abcdefghijklmnopqrstuvwxyz', 5);

about 4 years ago · Juan Pablo Isaza 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