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']))
推荐阅读
- mysql - 如何在 mysql 或 php 脚本中更新基于依赖项的列?
- javascript - 下载文件后重定向并返回响应
- swift - 在 Xcode 中使用 MLMultiArray 作为 mlmodel 的输入
- python - 如果条件满足,则在整数列表中查找整数
- ios - iOS 系统会在 24 小时后丢弃共享的 cookie
- javascript - 如何从 JavaScript 的文件对象中获取所有键/参数/属性?
- javascript - TD 内特定文本的查询选择器
- c - C 中是否有允许在 nSec 中设置特定延迟的标准函数?
- ios - iOS:为 WebView 中的文本字段访问 inputAccessoryView
- c# - 具有最高索引的数组中的最大值