Страницы

Поиск по вопросам

понедельник, 30 декабря 2019 г.

Помогите укоротить функцию в javascript?

#javascript


function replaceNum() {

  if (count2 < 3) {
    count4 = 0;
  }else if(count2 >= 3 && count2 < 6) {
    count4 = 1;
  }else if (count2 >= 6 && count2 < 9) {
    count4 = 2;
  }else if (count2 >= 9 && count2 < 12) {
    count4 = 3;
  }else if (count2 >= 12 && count2 < 15) {
    count4 = 4;
  }else if (count2 >= 15 && count2 < 18) {
    count4 = 5;
  }else {
    count4 = 6;
  }

  count2 += 1;
}


Можно ли как нибудь переписать эту функцию с помощью цикла?
    


Ответы

Ответ 1



Если вкратце, то согласно вашей логике цикл вам не нужен, и достаточно целочисленного деления: Math.floor округляет результат до ближайшего меньшего целого. function replaceNum() { count4 = Math.floor(count2/3); count2 += 1; } У этого кода есть ряд других стилистических проблем, но об этом мы вероятно поговорим в следующей серии) Одна из этих проблем - именование переменных. Не стоит называть переменные count2, count4. Старайтесь называть их как можно более осмысленно, это поможет когда будете в этом разбираться. Название переменной обычно состоит из одного или нескольких английских слов написанных подряд. Чтобы отделить одно слово от другого, каждое следующее обычно называется с большой буквы. Такой стиль называется camelCase (верблюжья нотация) Например myAwesomeVariable = 15; Собственно если изменить названия переменных в вашем коде до осмысленных, это будет например так. Разумеется это неоднозначно, Вы можете придумать свои красивые имена (в js можно кстати переменные по-русски называть но никогда-никогда-никогда их потом никому не показывайте =)); В любом случае это будет лучше чем count2, count4 function processCardIndexes() { cardStackIndex = Math.floor(cardTotalIndex/3); cardTotalIndex += 1; }

Комментариев нет:

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