0

配列に格納されている各オブジェクトのテキスト プロパティにアクセスしようとしています。配列は、オブジェクト内の別のプロパティ結果の値です。

このように、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.
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 に答える