Я пытаюсь получить следующий объект в объекте объектов (вы получаете мой дрейф). Я просматриваю список песен и пытаюсь определить следующую песню. Я использую флаг playing
, чтобы проверить, если песня воспроизводится, то я получить индекс следующей композиции и добавить идентификатор к вар называется song
Получить следующий элемент массива, используя итератор с использованием флагов
var stop = false;
var song = null;
$.each(playlist,function(index, value){
if(!value.played){
if(stop){
song = index;
return false;
} else {
if (value.playing) {
playlist[index].playing = false;
stop = true;
}
}
}
});
playlist[song].playing = true;
playlist[song].played= true;
здесь является то, что объект выглядит следующим образом:
{
'hash1': {name:'test',played:true,playing:true},
'hash2': {name:'test2',played:true,playing:true}
}
Проблема в том, что мой код только когда-либо воспроизводит первые две песни в плейлисте. Почему это, или есть лучший способ достичь этого?
С благодарностью
с.с. здесь функция на jsfiddle: http://jsfiddle.net/h1m7bx8g/
A [jsFiddle] (http://jsfiddle.net/), который демонстрирует этот вопрос даст нам больше, чтобы быть в состоянии диагностировать проблема. – Xotic750
вот он: http://jsfiddle.net/h1m7bx8g/ – user3343171
Ваша логика должна быть разработана немного больше - переменная '' 'stop''' всегда будет ложной в том, как вы определили свой JSFiddle. – PressingOnAlways