如何仅检索通过推送生成的最终数组实例?
How to retrieve just the final array instance generated with push?
我正在与 Underscore
and Backbone
合作。在 fetch
ing 我的 Collection 时,我决定将每个模型的 featured_media
属性推送到我的 imageId
数组。问题是 运行 console.log
.
时我在 devTools 中看到的内容
这是我正在使用的代码:
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 )
returns 的截图:
我要查找的数组是最底部的最后一个。我如何只检索该数组而不是它以前的每个实例?
如有任何建议,我们将不胜感激。我的实例在 CodePen 上。干杯!
此回答由 Harry Joy 提供:
_.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 );
我试图访问 _.each
循环内部而不是外部的数组。
我正在与 Underscore
and Backbone
合作。在 fetch
ing 我的 Collection 时,我决定将每个模型的 featured_media
属性推送到我的 imageId
数组。问题是 运行 console.log
.
这是我正在使用的代码:
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 )
returns 的截图:
我要查找的数组是最底部的最后一个。我如何只检索该数组而不是它以前的每个实例?
如有任何建议,我们将不胜感激。我的实例在 CodePen 上。干杯!
此回答由 Harry Joy 提供:
_.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 );
我试图访问 _.each
循环内部而不是外部的数组。