Cómo convertir una matriz de … matrices y submatrices (y subsubmatrices) en una matriz simple en regex (¿a través de Javascript?)
Tengo la siguiente pregunta. Tengo matrices multidimensionales que me gustaría convertir en una sola dimensión, para poder recorrerlas como una matriz. He pegado todo el código en pastebin (https://pastebin.com/kitjY8CG).
Mi esperanza es tratar de hacer esto con regex. Sin embargo, tengo una idea limitada de cómo hacerlo … Lo más fácil sería hacer que regex seleccione todo lo que está entre paréntesis y lo convierta en una matriz al final. ¿Es esto posible?
[
[["https://www.website.be/set.aspx?Id=4589232","https://www.website.be/set.aspx?Id=4737287","https://www.website.be/set.aspx?Id=5054137","https://www.website.be/set.aspx?Id=4776617" [..] ],["https://www.website.be/set.aspx?Id=4899728" [..] ,"https://www.website.be/set.aspx?Id=2650424" "https://www.website.be/set.aspx?Id=3807271"]],[["https://www.website.be/set.aspx?Id=2834602 .. "https://www.website.be/set.aspx?Id=3807271"]],[[ …..
Gracias por la ayuda.
davy.ai
Solución para convertir un arreglo multidimensional en un arreglo unidimensional
Para convertir un arreglo multidimensional en un arreglo unidimensional, puedes utilizar el método
concat()
en Javascript. Aquí tienes un ejemplo de código:El método
concat()
se llama en un arreglo vacío[]
y toma el arreglo multidimensional como argumento, aplanado con el métodoapply()
. Esto da como resultado un arreglo unidimensional.Utilizando regex para seleccionar todo lo que está entre paréntesis
Para seleccionar todo lo que está entre paréntesis utilizando regex, puedes utilizar el patrón
/\(([^)]+)\)/
. Aquí tienes un ejemplo de código:Se llama al método
match()
en la cadenatexto
con el patrón/\(([^)]+)\)/g
. La banderag
indica que el patrón debe ser buscado globalmente. El patrón coincide con todo lo que está entre paréntesis y almacena el resultado en el arreglocoincidencias
.Utilizando este conocimiento, puedes crear una función para convertir un arreglo multidimensional en un arreglo unidimensional y seleccionar todo lo que está entre paréntesis al mismo tiempo.
La función
convertirYSeleccionar()
toma un arreglo multidimensional como argumento, lo convierte en un arreglo unidimensional y aplica el patrón regex a cada elemento. Las coincidencias entre paréntesis se almacenan en un arreglo y se devuelven al final.