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

135
Visualizações
Convierta una matriz de matriz rodeada de comillas en una matriz de cadenas

Tengo valores de duración de fecha en el siguiente formato.

 array1 = '[["2022-01-18","2022-01-21"],["2022-02-15","2022-02-17"], ...]';

Y necesita convertirlo de la siguiente manera,

 array2 = [ '2022-01-18 - 2022-01-21', '2022-02-15 - 2022-02-17', ... ]

Para el trabajo hecho he seguido dos caminos,

  1. formattedArray1 = array1.replace(/","/g, " - ").reduce((a, b) => a.concat(b), [])

esto me da un error:

array2.reduce no es una función

  1. formattedArray2 = [].concat.apply([], array1.replace(/","/g, " - ")); y esto me da el error

CreateListFromArrayLike llamado en no objeto

¡Para arreglar esto cualquier pensamiento sería muy apreciado!

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

0

Lo que tienes allí es una matriz serializada en JSON.

Puede analizarlo en una matriz y luego asignarlo al valor que desea

 const array1 = '[["2022-01-18","2022-01-21"],["2022-02-15","2022-02-17"]]'; const arr = JSON.parse(array1); const array2 = arr.map(([from, to]) => `${from} - ${to}`); console.log(array2);


Si tiene curiosidad (como yo) sobre el rendimiento de la plantilla literal frente a Array.prototype.join() , los resultados de https://jsbench.me están a continuación...

Plantilla literal

2678,21 ops/s ± 0,85 %
Lo más rápido

Array.prototype.join()

1150,62 operaciones/s ± 0,51 %
57,04 % más lento

resultados de referencia

about 4 years ago · Juan Pablo Isaza Relatório

0

array1 se almacena como String , por lo que debe convertirlo a Array para usar reduce u otros métodos de matriz.

 array1 = '[["2022-01-18","2022-01-21"],["2022-02-15","2022-02-17"]]'; arr = JSON.parse(array1) formattedArray1 = arr.map((e) => e.join(" - ")) // ['2022-01-18 - 2022-01-21', '2022-02-15 - 2022-02-17']
about 4 years ago · Juan Pablo Isaza Relatório

0

  1. Estás llamando a reduce en type string ( array1.replace(/","/g, " - ") devolverá una cadena), reduce solo funciona con Array.prototype , es por eso que obtienes reduce no es una función.

array2.reduce no es un error de función.

Debe analizar la matriz antes de reducir.

 const array1 = '[["2022-01-18","2022-01-21"],["2022-02-15","2022-02-17"]]'; const parsedArr = JSON.parse(array1); const result = parsedArr.map(date => date.join(" - ") ) console.log(result)

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