2013-10-15 94 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

相关问题