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

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

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 Report

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 Report

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 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!