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

171
Vistas
¿Cómo intercambiar valores de una matriz? JavaScript

Estoy usando Leaflet y estoy tratando de crear una polilínea y puntos de marcador, pero da latitud y longitud opuestas, así que tengo que intercambiarlos. Crear un marcador es fácil porque solo tiene un par de latitud y longitud, pero crear una polilínea es complicado porque tiene muchos puntos.
A continuación se muestra lo que estoy usando actualmente para intercambiar latitud y longitud por puntos de marcador.

 var splitObj = objVal.toString().split("],["); var latlng = splitObj.map(function(x) { var couple= (/\d+.\d+, \d+.\d+/g).exec(x).toString(); var splitted = couple.split(", "); return "["+splitted[1]+","+splitted[0]+"]"; }); latlng.join();

Resultado:

['[[a, b], [c, d], [e, f]]'] // este es el objVal
expectativa:
['[[b,a], [d,c], [f,e]]']
la realidad:
['[licenciado en Letras]']

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

map sobre la matriz y, para cada matriz interna, devuelva una nueva matriz después de intercambiar los elementos.

 const data = [[124.432841, 8.3963], [124.496898, 8.3963], [124.571937, 8.40898]]; const result = data.map(arr => { return [arr[1], arr[0]]; }); console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Suponiendo que la entrada es una cadena de valores similares a una matriz anidada, la siguiente solución puede ayudar a transformar/intercambiar valores de latitud y longitud.

Fragmento de código

 const inpVal = ['[[a, b], [c, d], [e, f]]']; // helper method to strip first & last char of a string const stripFirstLast = s => s.slice(1, s.length - 1); // helper method to swap lat & longitutde values const swapLatLon = ([lat, lon]) => [lon, lat]; // place holder to safe-keep value of input const tmp = stripFirstLast(inpVal[0]) .replaceAll('], ', '] | ') .split(' | '); // calculate the result const res = ["[" + tmp.map( x => '[' + swapLatLon( stripFirstLast(x).split(', ') ).join(', ') + ']' ).join(', ') + "]" ]; // console-log to validate/verify console.log( 'input: ', inpVal, '\nresult: ', res );

Explicación

Los comentarios en línea explican el enfoque utilizado.

Intercambiar con valores reales (y no cadenas)

Esta es una réplica casi exacta de la solución/respuesta de Andy con solo un cambio en lugar de manejar la matriz interna como arr , el iterador accede directamente a los valores de latitud y longitud. Creo que hace que la solución sea un poco más fácil de leer.

 // Previous solution where the orig data was not taken as a string const swapLoLa = arr => arr.map(([lon, lat]) => [lat, lon]); const orig = [[124.432841, 8.3963], [124.496898, 8.3963], [124.571937, 8.40898]]; console.log( 'orig arr: ', orig, '\nswapped arr: ', swapLoLa(orig) );

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