Ребята, здравствуйте.
Делаю задания на codewars, не могу понять, почему последняя итерация reduce
возвращает конкатенацию вместо сложения.
function digital_root(n) {
// ...
n = n.toString().split('');
console.log('n', n)
n = n.reduce( function(total, current){
console.log(parseFloat(total), parseFloat(current));
console.log('parseFloat(total) + parseFloat(current)', Number(total) + Number(current))
return Number(total) + Number(current);
})
if (n.toString().split('').length > 1) {
digital_root(n)
}
return n
}
console.log(digital_root(132189));
В приведенном коде результат рекурсии нигде не используется.
На самом деле 24 - это не склейка 2 и 4, а сумма цифр 132189, просто из-за кучи console.log возникла путаница что где выводится.
Для решения достаточно возвращать результат рекурсии, если на текущей итерации получилось число с несколькими цифрами
function digital_root(n) {
// ...
n = n.toString().split('');
console.log('n', n)
n = n.reduce(function(total, current) {
console.log(parseFloat(total), parseFloat(current));
console.log('parseFloat(total) + parseFloat(current)', Number(total) + Number(current))
return Number(total) + Number(current);
})
if (n.toString().split('').length > 1) {
return digital_root(n)
}
return n
}
console.log(digital_root(132189));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени суток, на сайте нужно сделать кнопку входа через LinkedInСделал как тут написано
Напишите функцию insertAfter(elem, refElem), которая добавит elem после узла refElemкак я понимаю нужно вставить elem после первого дива на странице(между двух...
Нужно составить книгу заявок биржи в виде Google Таблицы - данные из парсинга распределить по колонкам и строчкам, используя скрипт с Public API биржи
Не могу сделать так что бы drag and drop срабатовало менялся размер по отдельности все работает а вместе только drag and drop срабатывает