да. прерывается. голова не варит, прошу прощения.
в связи с этим возникает немного иной вопрос
имеем код:
Код:
|
for (var i=0; i<db.length; i++){
if (db[i]['id']==parseInt(value)){
console.log(db[i]);
return db[i];
break;
}
else {
for (i=0; i<db.length; i++){
if (db[i]['id']==view_foto){
console.log(db[i]);
return db[i];
break;
}
}
}
} |
принцип работы - получаем id текущей фотографии. передаем его вышеописанной функции, она проходит по массиву и ищет данный id, после чего возвращает данный элемент массива. в случае, если не находит - срабатывает условие else и возвращает элемент массива, где id==view_foto.
проблема в том, что в массиве не находит передаваемого функции id(хотя он там есть), и переходит к else. если мы за комментируем блок else - все начинает работать.
пока сделал следующим образом, но хочется разобраться, почему вышеописанный вариант не работает..
Код:
|
var out;
for (var i=0; i<db.length; i++){
if (db[i]['id']==parseInt(value)){
console.log(db[i]);
out=db[i];
break;
}
}
if (out==null)
for (i=0; i<db.length; i++){
if (db[i]['id']==view_foto){
console.log(db[i]);
out=db[i];
break;
}
}
return out; |