Estoy ejecutando un código que devuelve una lista de ciudades dentro de un radio de 30 millas de la dirección ingresada por el usuario. El resultado son x matrices separadas que se muestran en la consola (dependiendo de la cantidad de ciudades devueltas). Necesito intentar convertirlos en 1 solo objeto con el siguiente formato:
const citiesObject = [ { cityName: 'Vancouver', cityDistance: 3 }, { cityName: 'Paris', cityDistance: 4 }, { cityName: 'Londres', cityDistance: 1 }, ]
Aquí está mi bucle for actual que devuelve las matrices separadas:
var closestCities = {}; for (var j = 0; j < results.length; j++) { // If distance is less than 30 miles (48280 metres) if(results[j].distance.value < 48280) { var closestCitiesDist = results[j].distance.value var closestCitiesName = origins[i] closestCities[j] = {"cityName" : closestCitiesName, "cityDistance" : closestCitiesDist} console.log(closestCities) } } }Un ejemplo de lo que estoy viendo en la consola después de una búsqueda es:
{cityName: 'Tamworth, UK', cityDistance: 24496} {cityName: 'Birmingham, UK', cityDistance: 44338}Convierta closestCities en una matriz e intente no usar var . Array tiene un método push que le permite agregar un nuevo elemento al final de la matriz.
const closestCities = []; for (let j = 0; j < results.length; j++) { // If distance is less than 30 miles (48280 metres) if(results[j].distance.value < 48280) { const closestCitiesDist = results[j].distance.value const closestCitiesName = origins[i] closestCities.push({"cityName" : closestCitiesName, "cityDistance" : closestCitiesDist}); } } }