TypeError: Reduce of empty array with no initial value解决

160 阅读1分钟

在使用数组的reduce方法时遇到这个报错: TypeError: Reduce of empty array with no initial value at Array.reduce

image.png

翻译: 减少没有初始值的空数组 原因: 报错原因: Reduce函数有选择性的接收 initialValue (将会被用作回调函数第一次被调用的参数)。然而,如果没有初始值提供,它会用 Array 或 TypedArray 的第一个元素作为初始值。当提供一个空数组的时候这个错误会出现,因为那种情况下没有初始值被返回

解决方式: 提供一个初始值作为操作符的中立元素,比如加法里的0,乘法里的1,或者是合并中的一个空字符串

let sum = res.reduce((prev, next) => {
        return prev + next
    }, 0)