基本用法
reduce(function(total, currentValue, currentIndex, arr), initialValue)
注意点&小技巧
以下每条都是踩了无数坑总结的血泪史
currentValue为遍历时的当前值,注意原始数据格式的处理- 无法确定数组长度时,填好
initialValue初始值,在回调中处理好意外数值、格式 - 遍历前,可以考虑使用
filter、map等处理原始数组,数据流动会更加清晰,便于维护 数组的高阶函数确实好用,但for才是正道
demo
以下demo只是简单的思路,实际开发中需要自己写好测试用例
const arr = [1, { value: 1 }, null, undefined]
const total = arr
// 过滤掉一些非法值,提升遍历效率
.filter(item => item)
// 全部映射为数字,降低reduce的处理难度
.map(item => item?.value || item)
// 考虑初始值、一些精度、数值越界等的处理即可
.reduce((total, currentValue) => total + currentValue, 0)
后言
最近帮朋友初创,体会到一个公司在各个生命周期运行的不易,也是很久没写技术博客了,
闲下来时总想稍微补一些短板,计算机基础,现代史相关的一点点皮毛,俗称的吃着碗里盯着锅里,总有点不务正业的罪恶感,
ps:现在还是不敢把机拆了,每每有人问,我还是只能愧疚地说:我确实不会修电脑
本文探讨了JavaScript中数组的reduce方法,包括其基本用法、注意事项和优化技巧。强调了在处理数组时,应关注当前值的格式、初始化初始值、预处理数据的重要性。通过一个实例展示了如何过滤非法值、转换数据类型并进行累加计算。同时,文章提醒虽然高阶函数方便,但基础的for循环仍然是解决复杂问题的基石。作者分享了近期在初创公司的工作体验,并表达了对充实自我和学习新技术的愿望。
2897

被折叠的 条评论
为什么被折叠?



