Лоэнрон
Профи
(883)
4 года назад
Можно поточнее, что должна возвращать функция?
P.S. а зависает, потому что уходит в бесконечный цикл, т. к. вы присваиваете в i строку, и потом сравниваете строку с числом.
Даже не так. Я вообще не понимаю что происходит. "X" это вообще что? Строка "X", какое-то иное заданное число?
res += `${i} `; вообще не понятно что за зверь.
если вы используете какие-то препроцессоры то нужно указывать.
P.P.S.
Короче, вот функция, которые возвращает строку состоящую из идущих подряд цифр от a до b, где каждое четное число заменено на "X"
function replaceEvenInt(a,b){
let i = a,
res = "";
while(i <= b){
if(!(i % 2)){
res += "X";
} else {
res += i;
}
i++;
}
return res;
}
Elepsis Eclipse
Гений
(64086)
4 года назад
function func_9(a, b){
let str = "";
for( a; a <= b; a++ ){
str += a % 2? a : " X ";
}
return str.trim();
}
console.log("Task_9: " + func_9(1, 10)); // Task_9: 1 X 3 X 5 X 7 X 9 X
______
То же, что и
while( a <= b ){
str += a % 2? a : " X ";
a++;
}
Молот Шотландцев
Высший разум
(300965)
4 года назад
У меня после ваших стараний вообще весь ноут наглухо завис, минут 40 только и делал что перезагружал )))
Если вам нужно 1X3X5X7X9X, то вот так вроде работает
function func (a,b) {
res = '';
while (a <= b) {
if (a % 2 == 0) {
res += "X";
}
else {res += a.toString();}
a++;
}
return res
}
console.log(func(1,10));
function func_9(a, b){
let i = a,
res = '';
while(i <= b){
res += `${i} `;
i++;
if(i % 2 === 0){
i = "X";
}
}
return res;
}
console.log(`Task_9: ${func_9(1, 10)}`);
В дебагере не могу прогнать цикл, что бы посмотреть как он работает, ибо зависает
----------------------------------------------------
код здесь:
codepen.io/vvv7220/pen/ExxxWjZ?editors=0011