Size: a a a

JavaScript — русскоговорящее сообщество

2020 June 18

Д

Дмитрий in JavaScript — русскоговорящее сообщество
Тоже запрещено ,,;
источник

К

Константин in JavaScript — русскоговорящее сообщество
кто? где
источник

К

Константин in JavaScript — русскоговорящее сообщество
там isArray
источник

Д

Дмитрий in JavaScript — русскоговорящее сообщество
Не проходили ... якобы на курсах..
источник

L

Lupusregina[beta] in JavaScript — русскоговорящее сообщество
Дмитрий
Задание 3:
   Разработать функцию treeSum, которая будет принимать массив, элементы которого могут быть числами или снова массивами,
   и так до любого уровня вложенности. Функция должна рассчитать и вернуть сумму всех числовых элементов массива.
   Некоторые уточняющие условия:
     - Если работаем с числом - должна присутствовать проверка на то, что это число и оно корректно (не NaN)
     - Если работаем с массивом - для определения массива метод isArray использовать запрещено, необходимо нагуглить
       способ, как определить, что перед вами массив - с использованием только пройденных тем
     - Другие значения, помимо числа и массива, разрешается не обрабатывать
     - Функция должна быть чистой
     - При написании функции не описывать каких-либо вложенных в неё функций
     - При решении также запрещено использование методов join/split и всего того, что еще не было пройдено
   Проверить работу функции можно на следующем массиве (сумма должна быть равна 50):
     [
       5, 7,
       [4, [2], 8, [1, 3], 2],
       [9, []],
       1, 8
     ]
const treeSum = a => a
 .reduce((sum, v) =>
   sum + ( typeof v === "number" && isFinite(v) ?
     v : ((v instanceof Array) ? treeSum(v) : 0) ), 0 )
источник

Д

Дмитрий in JavaScript — русскоговорящее сообщество
Все хорошо но изФинит я уже скидывал ... такого плана оно тоже запрещено...
источник

К

Константин in JavaScript — русскоговорящее сообщество
нарушил все
источник

К

Константин in JavaScript — русскоговорящее сообщество
Я аж не признал
источник

К

Константин in JavaScript — русскоговорящее сообщество
лол...
источник

Д

Дмитрий in JavaScript — русскоговорящее сообщество
Ну слишком много ограничений.
источник

L

Lupusregina[beta] in JavaScript — русскоговорящее сообщество
Дмитрий
Все хорошо но изФинит я уже скидывал ... такого плана оно тоже запрещено...
const treeSum = a => a
 .reduce((sum, v) =>
   sum + ( typeof v === "number" && !isNaN(v) && (v + 1 !== v) ?
     v : ((v instanceof Array) ? treeSum(v) : 0) ), 0 )
источник

К

Константин in JavaScript — русскоговорящее сообщество
instanceof нельзя
источник

К

Константин in JavaScript — русскоговорящее сообщество
и лямбду нельзя
источник

Д

Дмитрий in JavaScript — русскоговорящее сообщество
Угу )
источник

L

Lupusregina[beta] in JavaScript — русскоговорящее сообщество
Константин
и лямбду нельзя
то есть рекурсию нельзя?
источник

К

Константин in JavaScript — русскоговорящее сообщество
function treeSum(arr) {
    let sum = 0;
   
    for(let i = 0; i < arr.length;  i ++ ) {
         let el = arr[i];
         if (typeof el === 'number')
                sum += el;
         if(typeof el !== 'string' && el.length > 0)
                sum += treeSum(el);
    }
   return sum;
}
источник

К

Константин in JavaScript — русскоговорящее сообщество
Lupusregina[beta]
то есть рекурсию нельзя?
лямбду
источник

К

Константин in JavaScript — русскоговорящее сообщество
рекурсию - хз
источник

К

Константин in JavaScript — русскоговорящее сообщество
можно в стек развернуть
источник

L

Lupusregina[beta] in JavaScript — русскоговорящее сообщество
а разница, это просто сокращенная запись функции
источник