多维数组拆分成对象javascript

时间:2015-02-26 21:30:51

标签: javascript arrays dictionary

我想将多维数组拆分为对象。 我做了一个阵列:

var arrayFirstLast = [
                         [58.94142647682763][23.5423357],
                         [59.94142647682765][24.5423357], 
                     ];

我只知道如何处理数组:

var arrayFirstLast=[58.94142647682763],[23.5423357];

我希望:

var arrayLongLat= [
                      {
                          "long":58.94142647682763,
                          "lat":23.5423357
                      },
                      {
                          "long":59.94142647682763,
                          "lat":24.5423357
                      }
                  ];

3 个答案:

答案 0 :(得分:1)

您想要的输出是一个对象数组。 所以对于这个

var arrayFirstLast=[[58.94142647682763,23.5423357],
              [59.94142647682765,24.5423357]];
var arrayLongLat = [],
    latLon = {};
for(var i in arrayFirstLast){
    latLon = {long: arrayFirstLast[i][0], lat: arrayFirstLast[i][1]};
    arrayLongLat.push(latLon);
}

答案 1 :(得分:1)

您可能希望查看您的数组,它是用不正确的语法编写的。

所以让我们拿一下阵列:

var arrayFirstLast = 
     [[58.94142647682763, 23.5423357], [59.94142647682765, 24.5423357]];

然后我们遍历它并从中创建对象:

for (var i = 0; i < arrayFirstLast.length; i++) {
    var obj = { "long": arrayFirstLast[i][0], "lat": arrayFirstLast[i][1] };
    arrayLongLat.push(obj);
}

答案 2 :(得分:-1)

迭代数组并使用对象设置新数组:

var arrayFirstLast=[[58.94142647682763][23.5423357],
                  [59.94142647682765][24.5423357], 
                 ];
var newA = Array();
for ( var i = 0 ; i < arrayFirstLast.length ; i++ ) 
    newA.push({"long":arrayFirstLast[i][0],"lat":arrayFirstLast[i][1]});

newA数组包含结果。