我有一个函数需要对数组中的所有数字求和,如果这些数字是字符串“1”、“2”,该函数也需要对它们求和。
我编写了一个函数并尝试解析数字,但它不起作用。
基本上,它需要将所有数字相加。你能在不使用的情况下做到这一点吗reduce
?我需要一个简单的解决方案或 .map 的解决方案 我的错误在哪里?
function sumArrNums(arr) {
let count = 0;
arr.forEach(el => typeof el == 'number' ? count+= el : '');
return count;
}
console.log(sumArrNums(['1', '2', 5,5,5, '3']))
当元素是字符串时,您的三元运算符不执行任何操作,您可以使用Number(el)
(或一元+
) 将元素转换为数字(字符串将被转换,数字仍为数字,因此不需要类型检查):
function sumArrNums(arr) {
let count = 0;
arr.forEach(el => count += Number(el));
return count;
}
console.log(sumArrNums(['1', '2', 5, 5, 5, '3']))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)