从JSON创建数组

时间:2015-08-28 12:12:41

标签: javascript jquery

我有以下格式的JSON

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

{
lat: 55,
lng: 77
}

]

我需要使用JS

将其转换为以下格式
[[22, 44], [55, 77]]

请一位有人帮我解决问题

5 个答案:

答案 0 :(得分:4)

只需使用map

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

答案 1 :(得分:2)

您可以使用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);方法创建一个新数组,该方法在执行时会创建一个新数组而不修改原始数组:

hashMap.put("myKey", "myValue");

答案 2 :(得分:1)

您可以使用for ... in循环并获取数组

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)
 }

使用JavaScript的map功能找到其他答案。太好了!!!

答案 3 :(得分:0)

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]);
    }
}

答案 4 :(得分:0)

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);
     }