2013-10-15 133 views
0

我試圖訪問存儲在數組中的每個對象的文本屬性。該數組是另一個屬性,結果,在一個對象內的值。如何訪問javascript中其他對象內的對象內的屬性

我使用jQuery從服務器檢索對象,就像這樣。

 $.ajax({ 
     url: "https://api.parse.com/1/classes/chats", 
     cache: false, 
     type: 'get', 
     async: false, 
     success: function(data){ 
      console.log(data); 
     } 
     }); 

在最後的日誌語句是看看我收到。自然,這是我需要做的事情,但我似乎無法破解代碼。所以,我有一個結果屬性和數組值的對象。該數組是一個對象數組,每個對象都有自己的屬性。我只是有點困惑如何得到我需要的東西。也許輕輕推動正確的方向?

Object {results: Array[10]} //object returned 

results: Array[10] //value is an array of objects 

0: Object   // object '0' expanded... 

createdAt: "2013-10-15T19:13:43.576Z"<br><br> 
objectId: "uzGerloXA7" 
text: "RoboChat: I'm sorry Dave, I can't allow you to do that." // I need this! 
updatedAt: "2013-10-15T19:13:43.576Z" 
username: "RoboChat" 

1:Object // and I need it for each of these objects. 
2:Object 
3:Object 
etc... 
9:Object //this is the last object. 
+0

我d建議使用像Firebug這樣的工具,它可以讓你設置斷點和檢查對象。這對學習和調試非常有用 – geedubb

回答

4

你想

data.results[0].text 

[]會讓你得到一個個人e數組的排列

.將讓你獲得任何對象的屬性。

你可能會想一個循環:

for (var i = 0; i < data.results.length; ++i) { 
    console.log(data.results[i].text); 
} 
+0

不是'data.results [i] .text'嗎? – nnnnnn

+0

@nnnnnn Bah,sl of我。謝謝,修復。 –

+0

爲了幫助我澄清,我的想法是'結果'是一個具有一個值的屬性,一個包含10個對象的數組。如果它只有一個值(並且該值有10個屬性 - 每個都有相應的值),那麼如何在'results'上使用括號表示法(即,爲什麼result [1]不返回undefined,因爲有隻有1個項目,一個數組)。你的代碼工作我只是想了解它。 –

2

只要指定數組索引後跟屬性名稱:

data.results[0].propName; 

要迭代,你可以這樣做:

//Iterate the array of objects 
for (var i = 0; i < data.results.length; i++) { 
    //Iterate over the keys of a specified object 
    for (var key in data.results[i]) { 
     if (data.results[i].hasOwnProperty(key)) 
      console.log(data.results[i][key]); 
    } 
} 
+0

jslint會抱怨沒有'hasOwnProperty'檢查;) – thefourtheye

+0

@thefourtheye - 是的!編輯! – tymeJV

1

你可以做一些類似的迭代:

var allText = []; 
    $.each(data.results,function(i,obj){ 
     allText.push(obj.text); 
    }); 

,所有的文本都存儲在allText啊及其jQuery的教育部

+0

假設使用jquery – geedubb

+0

@geedubb - OP使用'$ .ajax()',所以... – nnnnnn

+0

確實 - 這是一個公平的假設:) – geedubb

相關問題