Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
reemplazar /g no funciona cuando se usa con el método de mapa

Tengo un conjunto de matrices y estoy tratando de cambiar el guión en las fechas a barras, pero el reemplazo /g no funciona cuando lo uso en un método de mapa.

 let set1 = [['Jones', 'Ann', 'F', '6-3-1975', 'Red'], ['Perez', 'Maria', 'F', '4-2-1979', 'Green'], ['Samuels', 'Rika', 'M', '12-2-1973', 'Black']] set1.map(arr => arr[3].replace(/-/g, "/")) console.log(set1)

El resultado debe ser como se muestra a continuación, pero los guiones no cambian

 ['Jones', 'Ann', 'F', '6/3/1975', 'Red'], ['Perez', 'Maria', 'F', '4/2/1979', 'Green'], ['Samuels', 'Rika', 'M', '12/2/1973', 'Black']
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Array.map no muta la matriz original. Debe asignar el resultado después de mapear de nuevo a set1 .

También tendrá que asignar el resultado después de reemplazar de nuevo el elemento en el índice 3 y devolver arr en la función de mapa.

 let set1 = [['Jones', 'Ann', 'F', '6-3-1975', 'Red'], ['Perez', 'Maria', 'F', '4-2-1979', 'Green'], ['Samuels', 'Rika', 'M', '12-2-1973', 'Black']] set1 = set1.map(arr => (arr[3] = arr[3].replace(/-/g, "/"), arr)) console.log(set1)

Si no desea crear uno nuevo, use Array.forEach :

 let set1 = [['Jones', 'Ann', 'F', '6-3-1975', 'Red'], ['Perez', 'Maria', 'F', '4-2-1979', 'Green'], ['Samuels', 'Rika', 'M', '12-2-1973', 'Black']] set1.forEach(arr => arr[3] = arr[3].replace(/-/g, "/")) console.log(set1)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Otra respuesta, pero usando forEach en su lugar. Esto puede usar menos memoria en comparación con el enfoque de map .

 let set1 = [['Jones', 'Ann', 'F', '6-3-1975', 'Red'], ['Perez', 'Maria', 'F', '4-2-1979', 'Green'], ['Samuels', 'Rika', 'M', '12-2-1973', 'Black']] set1.forEach(arr => arr[3] = arr[3].replace(/-/g, "/")) console.log(set1)

about 4 years ago · Juan Pablo Isaza Denunciar

0

La función .map() espera que devuelva el elemento completo que desea que esté en la matriz resultante. Por lo tanto, debe devolver el valor de arr completo, no solo la cadena de fecha.

 let set1 = [ ['Jones', 'Ann', 'F', '6-3-1975', 'Red'], ['Perez', 'Maria', 'F', '4-2-1979', 'Green'], ['Samuels', 'Rika', 'M', '12-2-1973', 'Black'] ]; set1 = set1.map(arr => { arr[3] = arr[3].replace(/-/g, "/"); return arr; }); console.log(set1);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda