Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

287
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!