2016-09-09 3 views
0

私はUnderscoreBackboneで作業しています。 fetch私のコレクションを作成する間、各モデルのfeatured_media属性をimageId配列にプッシュすることに決めました。問題は、console.logを実行しているときに私がdevToolsの内部に見ていることです。プッシュで生成された最後の配列インスタンスを取得する方法は?

ここで私が働いているコードです: enter image description here

私は後だ配列がで非常に最後の1である:ここでは

var images = []; 
var SlideModel = Backbone.Model.extend({ 
    defaults: { 
     id:'', 
     featured_media:'', 
     date:'', 
     slug: '', 
     link:'' 
    }, 
    idAttribute: '_id' 
}); 
var SlideCollection = Backbone.Collection.extend({ 
    model: SlideModel, 
    url: 'http://localhost/dev/test.json', 
    parse: function(data){ 
     return data; 
    } 
}); 
var slideShow = new SlideCollection(); 
slideShow.fetch({ 
    success: function(response){ 
     _.each(response.models, function(slide){ 
      new SlideModel({ 
       id: slide.attributes.id, 
       featured_media: slide.attributes.featured_media, 
       date: slide.attributes.date, 
       slug: slide.attributes.slug, 
       link: slide.attributes.link 
      }); 
      var self = this; 
      var mediaKey = $.makeArray(slide.attributes.featured_media); 
      var mKeys = new Array(_.join(_.values(mediaKey))); 
      mKeys = images.push(mKeys); 
      arr_keys = _.flattenDeep(images); 
      //console.log(mKeys); 
      arr_keys = _.map(arr_keys); 
      console.log(arr_keys); 
     }); 

    }, 
    error: function(response){ 
     console.log(response); 
    } 
}); 

console.log(arr_keys)戻って何のスクリーンショットです非常に底。それ以前のすべてのインスタンスではなく、単に配列を取得するにはどうすればよいですか?

アドバイスをいただければ幸いです。私のライブの例はCodePenです。乾杯!私が代わりにそれ以外の_.eachループの内側に配列にアクセスしようとしていた

_.each(response.models, function(slide){ 
    new SlideModel({ 
     id: slide.attributes.id, 
     featured_media: slide.attributes.featured_media, 
     date: slide.attributes.date, 
     slug: slide.attributes.slug, 
     link: slide.attributes.link 
    }); 
    var self = this; 
    var mediaKey = $.makeArray(slide.attributes.featured_media); 
    var mKeys = new Array(_.join(_.values(mediaKey))); 
    mKeys = images.push(mKeys); 
    arr_keys = _.flattenDeep(images); 
    //console.log(mKeys); 
    arr_keys = _.map(arr_keys); 
}); 
console.log(arr_keys); 

+1

'_.each'ループの外側にアクセスしてください –

+0

@HarryJoyああ私の良さ!まあ、私は全部ダム@ $$です!どのように私はこれを実現できなかったでしょうか?あなたは男、ハリー!乾杯! – DaveyJake

答えて

0

この回答はHarry Joyの礼儀でした。

+0

あなた自身の答えを受け入れることで、質問に答えたものをマークすることができます。 –

関連する問題