2015-02-26 6 views
0

Я хочу разбить мой многомерный массив на объекты. я сделал массив:Многоэлементный массив, разбивающий на объекты javascript

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 
         } 
        ]; 
+1

В чем проблема? Вы знаете, что ваш последний сегмент кода действителен, не так ли? –

+3

Массив, который вы говорите, что вы сделали, не работает. Он запускается, но результатом является '[undefined, undefined]'. – Guffa

ответ

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

Код вызывает эту ошибку: TypeError: arrayFirstLast [i] не определен (не мой downvote btw) – Guffa

+0

Он был отредактирован, чтобы быть в правильном формате для многомерного массива, я думал, что у OP был правильный формат, я должен был это понять был неправильным в начале – Asheliahut

+0

Теперь результат: '[{" long ": [58.94142647682763]," lat ": [23.5423357]}, {" long ": [59.94142647682765]," lat ": [24.5423357]}]' , – Guffa

-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 Массив содержит результаты.

+1

Код дает эту ошибку: TypeError: arrayFirstLast [i] не определен (не мой downvote btw) – Guffa

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); 
} 
Смежные вопросы