Оператор сравнение в переменой

Рейтинг: 0Ответов: 1Опубликовано: 30.01.2015

Здравствуйте, есть вот такой код для примера (этот код я написал для примера):

function test(data){
    if(data) {
        for (var i = 0; i < 999; i++) {
            if(i !== 500) {//При условии что data = true
                //Выполнение кода
            }
        }
    }
    else {
        for (var i = 0; i < 999; i++) {
            if(i === 500) {//При условии что data = false
                //Выполнение кода 
            }
        }
    }
}

Функция, в которой есть цикл, если data = true, выполняется некий код, когда i не равен 500.
А когда data = false, код выполняется, когда i равен 500.

Как можно сделать так, чтобы в коде не было два цикла?

Можно было бы создать переменную, где хранился бы оператор сравнение и подставлялся в выражение, но, насколько я понимаю, так сделать нельзя.
Проверять в каждой итерации переменную data и от этого использовать свой 'if', на мой взгляд неправильно.

Ответы

▲ 1Принят

Где-то так:

function test(data){
    for (var i = 0; i < 999; i++) {
        if(i !== 500 && data) {//При условии что data = true
            //Выполнение кода
        } else if (i === 500 && !data) {
           // ещё одно выполнение
        } else {
           // ни одно с условий не выполнилось
        }
    }

}