2013-04-02 5 views
0

Je crée un script pour extraire certaines informations d'un flux Facebook et les insérer dans un objet que je crée. Je voudrais que l'objet ressemble à ceci:Pourquoi mon nouvel objet est-il indéfini?

fbObj { 
     {"name": "blah", "post": "this is a post"} 
     {"name": "blah_2", "post": "this is another post"} 
     } 

Est-ce un bon moyen de créer cet objet?

<script language="javascript" type="text/javascript"> 
     function buildObject() { 

      //create the object 
      var fbObj = {} 
      FB.api('me?fields=feed.fields(story,message,from,updated_time)', function(response) { 
       console.log(response) 

      //loop through feed, add items to object 
     for (i = 0, l = response.feed.data.length; i < l; i++){ 
      var post = response.feed.data[i]; 
      if (post.story){ 
       fbObj[i].name = post.from.name 
       fbObj[i].post = post.story 
       console.log(fbObj[i]) 
       } 
      if (post.message){ 
       fbObj[i].name = post.from.name 
       fbObj[i].post = post.message 
       console.log(fbObj[i]) 
     } 

     var x = document.getElementById("toObject"); 
      x.innerHTML=fbObj; 
     } 
     }) 
     } 
+2

Vous devez initialiser 'fbObj [i]' avant de l'utiliser par exemple 'fbObj [i] = {} ' – Musa

+0

Merci! Cela a fonctionné :) – jumbopap

Répondre

0

fbObj est accessible comme un tableau, pas comme un objet, donc il doit être initialisé: var fbObj = []

Questions connexes