我需要使用来自同一实例的另一个属性对象的一些值设置一个 javascript 属性对象。实际上我有以下对象:
var PLAYER = {
slides: {
{ slide_id: 60, slide_content: 'content for slide 1', type: 'slide' },
{ slide_id: 65, slide_content: 'content for slide 2', type: 'slide' },
{ slide_id: 70, slide_content: 'content for slide 3', type: 'slide' },
{ qId: 4, question: 'question text', after_slide: 70, type: 'question' },
{ slide_id: 74, slide_content: 'content for slide 5', type: 'slide' }
},
currentSlide: 0,
container: false,
currentCarouselSlide: 0,
carousel: {},
}
现在我有一个这样的数组:
var carouselRandomSlides = [60,70];
稍后在我的PLAYER
对象中,我有一个功能可以像这样支撑我的幻灯片
<script>
fetchSlide: function(index,increment) {
var _this = this;
$.post('/player/fetchSlide', { slideContent: _this.slides[index] }, function(response){
increment ? (increment == 'increase' ? _this.currentSlide++ : _this.currentSlide--) : null;
$(_this.container).html(response);
if (_this.slides[index].qId) {
this.questions.correctAnswer = _this.slides[index].correct_answer;
$.each(_this.slides[index].carousel, function(i,slideId) {
_this.carousel[++i] = _this.slides[slideId];
});
}
else {
_this.questions.correctAnswer = false;
_this.carousel = {};
}
console.log(_this.carousel);
});
},
</script>
在这个函数中,我正在测试当前幻灯片是否是一个问题if (_this.slides[index].qId)
,如果是,那么我会尝试创建一个包含幻灯片60
和70
. 不能播放幻灯片或多于两张.. 这不取决于我。下面的代码部分应该可以解决问题
$.each(_this.slides[index].carousel, function(i,slideId) {
_this.carousel[++i] = _this.slides[slideId];
});
但实际上我需要_this.slides[slideId]
的是相同的_this.slides[60]
_this.slides[1]
我怎样才能得到包含slide_id: 60
在上述$.each()
函数中的对象?
提前致谢!