Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 16

KS

Konstantin Sedykh in JavaScript Noobs — сообщество новичков
undefined.
Шарит кто?
ппц каша
const sumOfOdds = (num) => {
 if (num < 0) return 0;
 const iter = (counter, accumulator) => {
   if (counter < 0) return accumulator;
   if (counter % 2 !== 0) accumulator += counter;
return iter(counter--, accumulator);

 };
 return iter(num, 0);
};
источник

u

undefined. in JavaScript Noobs — сообщество новичков
Konstantin Sedykh
ппц каша
const sumOfOdds = (num) => {
 if (num < 0) return 0;
 const iter = (counter, accumulator) => {
   if (counter < 0) return accumulator;
   if (counter % 2 !== 0) accumulator += counter;
return iter(counter--, accumulator);

 };
 return iter(num, 0);
};
Понял, спасибо.
источник

u

undefined. in JavaScript Noobs — сообщество новичков
Рекурсии довольно сложно изучать, ну новичку как минимум. Поэтому и каша наверное была.
источник

AG

Asan Glay in JavaScript Noobs — сообщество новичков
есть ссылка где href="javascriptvoid(0)", мне нужно навешать дополнительное событие на клик, но оно не срабатывает,
источник

AG

Asan Glay in JavaScript Noobs — сообщество новичков
это можно как то обойти
источник

AK

Andrew Kovalev in JavaScript Noobs — сообщество новичков
undefined.
Здравствуйте, у меня есть итеративная функция которая в аргументе принимает число до которого нужно посчитать все нечетные числа.

const sumOfOdds = (num) => {
 if (num < 0) return 0;
 const iter = (counter, accumulator) => {
   if (counter < 0) return accumulator;
   if (num % 2 !== 0) return iter(counter - 1, counter + accumulator);
   return;
 };
 return iter(num, 0);
};

Проблема в том что когда передаю в аргументы чётное число, возвращает undefined. С нечетными числами увеличивает не так как надо. Думаю проблема заключается в if (num % 2 !== 0) но не могу понять где и как именно.
блин а зачем так сложно? можно же проще - принимаешь число , все числа что меньше него проверяешь на деление по модулю и те которые делятся с остатком запихиваешь уже куда тебе удобно, в массив например.
источник

u

undefined. in JavaScript Noobs — сообщество новичков
Andrew Kovalev
блин а зачем так сложно? можно же проще - принимаешь число , все числа что меньше него проверяешь на деление по модулю и те которые делятся с остатком запихиваешь уже куда тебе удобно, в массив например.
в задании без массивов, тут надо именно итеративной рекурсией)
источник

u

undefined. in JavaScript Noobs — сообщество новичков
Почему-то сейчас стек вызовов заполняется. Где-то уходит в бесконечность, только вот стоит условие на выход из рекурсии.
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
Может кто написать проще? не нравится мне этот итератор
источник

D

Danila in JavaScript Noobs — сообщество новичков
Лапки Х
Может кто написать проще? не нравится мне этот итератор
Вполне симпатично как по мне
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Лапки Х
Может кто написать проще? не нравится мне этот итератор
проще != короче
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
читаемость - главное
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
упростить запись. написать оптимальнее. я это имел ввиду
источник

RY

Roman Yaremenko in JavaScript Noobs — сообщество новичков
ребята, добрый день..А не подскажите как можно реализовать такой курсор? А то вообще не могу придумать как(
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
Roman Yaremenko
ребята, добрый день..А не подскажите как можно реализовать такой курсор? А то вообще не могу придумать как(
getBoundingRect + event.pageX/Y
источник

u

undefined. in JavaScript Noobs — сообщество новичков
const reverse = (str) => {
 const iter = (counter) => {
   if (counter < 0) return;
   rev = str - iter(counter.length - 1);
   return rev;
 };
 iter(str);
};
Почему забивается стек? Условие выхода прописано.
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
undefined.
const reverse = (str) => {
 const iter = (counter) => {
   if (counter < 0) return;
   rev = str - iter(counter.length - 1);
   return rev;
 };
 iter(str);
};
Почему забивается стек? Условие выхода прописано.
выхода из итерации, но не из рекурсии же
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
const reverse = (str) => {
   let newStr = ''
   for (let i = str.length - 1; i >= 0; --i) {
       newStr += str[i]
   }
   return newStr
}
Я бы так написал, если я правильно задачу понял
источник

u

undefined. in JavaScript Noobs — сообщество новичков
А... понял
источник

u

undefined. in JavaScript Noobs — сообщество новичков
Лапки Х
const reverse = (str) => {
   let newStr = ''
   for (let i = str.length - 1; i >= 0; --i) {
       newStr += str[i]
   }
   return newStr
}
Я бы так написал, если я правильно задачу понял
На рекурсиях только.
источник