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;
}
Можно ли как нибудь переписать эту функцию с помощью цикла?
Ответ
Если вкратце, то согласно вашей логике цикл вам не нужен, и достаточно целочисленного деления:
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;
}
Комментариев нет:
Отправить комментарий