javascript - 对数组数字求和的函数(包括作为字符串的数字)

标签 javascript

我有一个函数需要对数组中的所有数字求和,如果这些数字是字符串 '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']))

关于javascript - 对数组数字求和的函数(包括作为字符串的数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57893236/

相关文章:

javascript - 如何用随机生成的 ID 模拟点击元素?

javascript - THREE.JS更新透视相机的fov值并保持相同的相机距离

javascript - 将 JSON 字符串存储在输入字段值中

javascript - 在网站上的选择框中选择背景

javascript - 为什么在 Angular 2 中,事件属性在括号中?

javascript - React 服务器端渲染是否等待异步调用完成?

javascript - 使用 Prettify 在网页中动态生成的代码段的语法突出显示

javascript - Google 的 +1 按钮 : How do they do it?

javascript - Jquery 当元素具有类时检查复选框

java - 如何设置标题信息