0

我正在尝试访问存储在数组中的每个对象的文本属性。数组是对象内部另一个属性 results 的值。

我使用 jQuery 从服务器检索对象,就像这样。

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

最后的日志语句是看看我收到了什么。当然,这是我需要做某事的地方,但我似乎无法破解密码。所以,我有一个带有 result 属性和 Array 值的对象。数组是一个对象数组,每个对象都有自己的属性。我只是有点困惑如何获得我需要的东西。也许是朝着正确的方向轻轻推动?

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.
4

3 回答 3

5

你要

data.results[0].text

[]将让您获得数组的单个元素

.将让您获得任何对象的属性。

您可能需要一个循环:

for (var i = 0; i < data.results.length; ++i) {
    console.log(data.results[i].text);
}
于 2013-10-15T19:43:47.040 回答
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]);
    }
}
于 2013-10-15T19:43:27.677 回答
1

你可以做一些迭代,比如:

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

并且所有文本都存储在 allText ah 及其 jquery moe 中

于 2013-10-15T19:44:52.690 回答