2017-01-25 8 views
0

У меня есть локальный массив со значениями вроде этого:почтовые объекты как массив к API в ionic2

this.array = [ 
      {lat: '50.85034', lon: '4.35171', value: '50'}, 
      {lat: '50.850725', lon: '4.349685', value: '5'}, 
      {lat: '50.847582', lon: '4.330394', value: '25'}, 
      {lat: '50.848733', lon: '4.25422', value: '20'}, 
      {lat: '50.856965', lon: '4.221196', value: '10'}, 
      {lat: '51.054259', lon: '3.719366', value: '101'} 
     ]; 

Я хочу, чтобы отправлять эти значения в моем API. Так что мне нужно сделать что-то вроде этого:

postObjectsArray() 
    { 
     var Array = {lat: ...., lon: ..., value: ..., id:...}; 
     var url = 'MyUrl'; 
     this.http.post(url, Array).map(res => res.json()).subscribe((response) => 
     { 
     console.log("Success") 
     });  
    } 

Но как я могу положить мои локальные значения в этот новый массив, чтобы разместить их?

Я пытался что-то вроде этого:

for (var i; i < this.array.length; i++) 
{ 
    var Array = {lat: this.array[i].lat, lon: this.array[i].lon, value: this.array[i].value}, id:".."; 
} 

Но как я могу автоматически увеличивать идентификатор? Потому что мне нужно также указать ID с этим сообщением.

ответ

0

Вы можете сделать что-то вроде этого:

let array = []; 

for(var i in this.array){ 
    let tmp = this.array[i]; 
    tmp.id = i;//assigning the index as the id as it autoincrements itself ;-) 
    array.push(tmp);//pushes the new object into array variable. 
} 

PS: Я изменил "Массив" в "массив", как массив является зарезервированным переменной (используется для обозначения Array из JavaScript класса);