Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Помогите пожалуйста преобразовать в цикл.


Автор: Dima85 25.3.2010, 11:44
Добрый день, возможно ли это сделать более компактно, преобразовать в цикл?

Код

        if (cookload[0] != setsave && cookload[1] != setsave && cookload[2] != setsave && cookload[3] != setsave && cookload[4] != setsave && cookload[5] != setsave && cookload[6] != setsave && cookload[7] != setsave) {
        alert('ok');
        } else { alert('bad'); }

Автор: skyboy 25.3.2010, 12:22
Код

var isCorrect = true;
for(var i= 0; i< 8; i++) {
 if (cookload[i] == setsave) {
  isCorrect = false;
  break;
 }
}
if (isCorrect) {
 alert('ok');
} else {
 alert('bad');
}

Автор: IDVsbruck 25.3.2010, 14:49
Код
for (var i = 0, comparison = true; i < cookload.length && comparison; i++)
    comparison = comparison && cookload[i] == setsave;
comparison ? alert("Ok") : alert("bad");

Автор: Amphiluke 25.3.2010, 15:27
Мдя. Где предел миниатюризации?  smile 
Код

(("," + cookload.join(",") + ",").indexOf("," + setsave.toString() + ",") == -1) ? alert("ok") : alert("bad");

Автор: IDVsbruck 25.3.2010, 20:30
Код
$.grep(cookload, function(){return this == setsave}).length > 0 ? alert("ok") : alert("bad");

Ага! smile

Автор: Amphiluke 25.3.2010, 21:42
Кстати, благодаря этой теме узнал, что браузеры уже обеспечили поддержку метода indexOf для массивов.  smile 

Код

(cookload.indexOf(setsave) != -1) ? alert("ok") : alert("bad");


К IE это, увы, не относится.  smile

Автор: Dima85 26.3.2010, 12:41
Всем большое спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)