Akshay Jha
Akshay Jha

Reputation: 11

Create an array from a JSON

I have a JSON in the below format

waypoints = [
{
lat: 22,
lng: 44
},

{
lat: 55,
lng: 77
}

]

I need to convert it into the following format using JS

[[22, 44], [55, 77]]

Please can some one help me with a solution

Upvotes: 0

Views: 81

Answers (5)

Arjun Gowda
Arjun Gowda

Reputation: 1

You can use:
    waypoints = [{lat: 22, lng: 44   }, { lat: 55, lng: 77   } ];
     var innerArr = [];
     var requiredArray = [];
     for (var i = 0; i < waypoints.length; i++) {
         innerArr = [];
         innerArr.push(waypoints[i].lat);
         innerArr.push(waypoints[i].lng);
         requiredArray.push(innerArr);
     }

Upvotes: 0

Jai
Jai

Reputation: 74738

You can create a new array with use of .map method which in execution creates a new array without modifying the original array:

var waypoints = [{
  lat: 22,
  lng: 44
}, {
  lat: 55,
  lng: 77
}];

var newArr = waypoints.map(function(obj) {
  return [obj.lat, obj.lng];
});

document.body.textContent = JSON.stringify(newArr);

Upvotes: 2

Anita
Anita

Reputation: 2400

You can use for...in loop and get the array

var array=[];

for(var i =0;i< waypoints.length;i++){
var nestedArray=[];
  for(var key in waypoints[i]){
      nestedArray.push(waypoints[i][key])
    }
   array.push(nestedArray)
 }

Found other answers using map functionality of JavaScript. Thats good!!!

Upvotes: 1

Joseph
Joseph

Reputation: 119827

Just use map.

var foo = waypoints.map(function(waypoint){
  return [waypoint.lat, waypoint.lng];
});

Upvotes: 4

Alessio Cantarella
Alessio Cantarella

Reputation: 5201

var waypoints = [
    {
        lat: 22,
        lng: 44
    },
    {
        lat: 55,
        lng: 77
    }
];
var array = [];
for (i in waypoints) {
    array.push([]);
    for (j in waypoints[i]) {
        array[i].push(waypoints[i][j]);
    }
}

Upvotes: 0

Related Questions