最常用方法是reduce()。1. 数字数组求和:const sum = [1,2,7].reduce((a,b) => a+b, 0); 输出10,初始值0确保空数组返回0。2. 非空数组可省略初始值:[1,2,3].reduce((a,b) => a+b)。3. 含字符串或null需先转换过滤:mixed.map(Number).filter(num => !isNaN(num)).reduce((a,b) => a+b, 0)。4. 对象数组字段求和:products.reduce((sum, item) => sum + item.price, 0) 输出60。reduce最灵活且推荐。

JavaScript中对数组求和最常用的方法是使用 reduce() 方法。它遍历数组,将每个元素累加到一个累计值上,最终返回总和。
1. 使用 reduce() 求和
适用于数字数组的求和操作:
const numbers = [1, 2, 7];const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);console.log(sum); // 输出: 10
说明: 第二个参数 0 是初始值,确保空数组返回 0。
2. 简化写法(适合非空数组)
const sum = [1, 2, 3].reduce((a, b) => a + b);
如果数组可能为空,建议始终传入初始值 0。
3. 处理包含字符串或 null 的数组
如果数组元素不是纯数字,需要先过滤或转换:
const mixed = [1, '2', null, 3, undefined, 4];const sum = mixed .map(Number) // 转为数字,无效的变成 NaN .filter(num => !isNaN(num)) // 过滤掉 NaN .reduce((a, b) => a + b, 0); console.log(sum); // 输出: 10
4. 对象数组中某字段求和
常用于统计对象属性的总和:
const products = [ { name: 'A', price: 10 }, { name: 'B', price: 20 }, { name: 'C', price: 30 }];const total = products.reduce((sum, item) => sum + item.price, 0);console.log(total); // 输出: 60
基本上就这些,reduce 是最灵活且推荐的方式。
以上就是js数组求和函数的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1538658.html
微信扫一扫
支付宝扫一扫