Отделить числа от символов
Решаю задачку на кодеварз, застрял. При значениях аргумента x = [6, 'c'] код работает неправильно, получается значение '6c' Если в х первым идет символ, например, x = ['a', 3], то все работает правильно. Нужно суммировать все числа в х, опуская символы. Где я ошибаюсь?
const explode = x => {
let count = x.reduce((pre, val) => (typeof pre === 'number' ? pre : 0) + val, 0)
return count
}
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
Вы на тип проверяете значение аккумулятора(pre), а надо значение текущего итерируемого элемента массива(val):
const d = [4, 'c'];
const c = ['c', 5];
const explode = x => {
return x.reduce((pre, val) => (typeof val === 'number' ? val : 0) + pre, 0);
}
console.log(explode(d));
console.log(explode(c));