Использование переменных больше / меньше, чем операторов в цикле - PullRequest
1 голос
/ 14 января 2020

В последнее время, я возился с каким-то компактным кодом, и я пытаюсь получить довольно странный для l oop как можно меньше.

function test (start, comparison, end, increment) {
    for (x = star; x comparison end; x += increment) {
        console.log("e");
    }
}
test(1, "<", 3, 1);

//Expected theoretically
// for (x = 1; x < 3; x += 1) {
//  console.log("e");
//}

Я знаю, что могу получить l oop для работы, например, с оператором if / else, но я ищу меньший способ сделать это, так как это делает код в два раза больше (для более длинных «циклов»).

function test (start, value, end, increment) {
  if (value > 0) {
    //Loop 1
  } else {
    //Loop 2
  }
}

Итак, есть ли способ сделать это? или я застрял в создании двух разных циклов только с одним другим персонажем? Заранее спасибо

1 Ответ

1 голос
/ 14 января 2020

Вы можете взять функцию вместо строки, потому что функция может быть вызвана без использования eval, что не рекомендуется.

function test (start, comparison, end, increment) {
    for (var x = start; comparison(x, end); x += increment) {
        console.log(x);
    }
}

const isSmaller = (a, b) => a < b;

test(1, isSmaller, 3, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...