Trabajo con mapbox donde puedo dibujar una ruta que me da coordenadas que luego pongo en una matriz. Necesito convertir esta matriz de matrices en una matriz de objetos, para poder enviarla al backend con la publicación. Pero pude averiguar cómo hacer esto. así es como se ve mi matriz en este momento con algunas coordenadas:
[
y lo que quiero es algo como esto, no estoy 100% seguro si esto es un objeto tbh :):
[{ "latitude": 52.25155727661456, "longitude": 6.148788223460181 }, { "latitude": 52.25179372912126, "longitude": 6.147507915253847 }, { "latitude": 52.25205645297342, "longitude": 6.147157440051708 }, { "latitude": 52.25237609814013, "longitude": 6.147178897723827 }]¿Cómo podría convertir la matriz que tengo en la anterior? Necesito esto para poder enviarlo con una función de publicación a una API de back-end. Intenté usar algo como esto:
for (var i = 0, len = coords.length; i < len; i++) { jsonObj['latitude'] = coords[i]; } Pero no funcionó como yo quería que funcionara. Este es un poco de mi código donde obtengo los valores en mi matriz: 
y así es como intento enviar mis datos al servidor:
const xhr = new XMLHttpRequest(); // listen for `load` event xhr.onload = () => { // print JSON response if (xhr.status >= 200 && xhr.status < 300) { // parse JSON //const response = JSON.parse(xhr.responseText); console.log(xhr.responseText); } }; // open request xhr.open('POST', saveAllMeasurement); // set `Content-Type` header xhr.setRequestHeader('Content-Type', 'application/json'); // send rquest with JSON payload xhr.send(coordsObj);Puede usar el map y la desestructuración para convertir los subarreglos en objetos:
let coordinates = [ [52.25155727661456, 6.148788223460181], [52.25179372912126, 6.147507915253847], [52.25205645297342, 6.147157440051708], [52.25237609814013, 6.147178897723827] ]; let result = coordinates.map(([longitude, latitude]) => ({longitude, latitude})); console.log(result);Use el map para devolver una matriz de objetos
const coords = [ [31.00283837, -5.3838382], [2.52346457, 8.23472645] ]; const jsonCoords = coords.map(coord => ({ latitude: coord[0], longitude: coord[1] })) console.log(jsonCoords)Con bucle for:
let cords = [ [6.148788223460181, 52.25155727661456], [8.148788223460181, 12.25155727661456], [3.148788223460181, 16.25155727661456], [8.148788223460181, 17.25155727661456], ] let jsonObj = []; for(let i = 0; i < cords.length; i ++) { jsonObj.push({ latitude: cords[i][1], longitude: cords[i][0] }) } console.log(jsonObj)