2014-10-06 54 views
0

我JSON對象的數組,我喜歡這個屬性添加到遠程數據

var arr = []; 

$.getJSON('http://localhost:port/api/blah/blah', function(jsonPayload) { 

     console.log('Getting JSON...'); 

     // Do stuff with JSON data here, or call a function here and 
     // pass the data to it as an argument 

     arr = jsonPayload; 
     console.log('arr IS SET!'); 
     functionCall(); 
     //printArr(arr); 
}); 

我的哪個陣列,編曲,有一堆看起來像這樣

JSON對象獲得獲得JSON對象
{ 
    "id": 123, 
    "name": "Joe Schmo", 
    "blah": "blah", 
    . 
    . 
    . 
} 

Anddd我嘗試一個新的屬性添加到這些對象的每一個像這樣

for (var i = 0; i < arr.lenth ; i++) 
{ 
    var curr = arr[i]; 
    curr.newProp= 0; 
}//end for loop adding newProp property 

但是當我用JSON對象查看完成的數組時,我發現我的newProp 不是添加到JSON對象。

這是爲什麼,你能幫我嗎?

+2

順便說一句:爲什麼你定義'curr'?它不用於你的代碼 – hindmost 2014-10-06 17:51:38

+0

編輯:這是一個錯字,當我發佈的問題,我現在修復。感謝您的注意。 – 2014-10-06 17:53:24

+4

你有長度而不是長度 – juvian 2014-10-06 17:54:21

回答

0
var test = [{a:1},{b:2}]; 
test.forEach(function(obj) { obj["newProp"] = 0;}); 
+2

如何使用'forEach'而不是'for'循環改變? – undefined 2014-10-06 17:54:54

+0

fixt @vikas .... – 2014-10-06 18:04:44

+0

@ Lost1我沒有得到。 – vikas 2014-10-06 18:05:46

1

而不是

for (var i = 0; i < arr.lenth ; i++) 

使用

for (var i = 0; i < arr.length ; i++) 

什麼時候不工作,它應該工作,錯字是一個可能的原因。