问题描述
这种类型的循环如何被覆盖
let num - fieldOffset[0];
for (let i = 1; i < fieldOffset.length; i++) {
if (fieldOffset[i] < fieldOffset[i - 1]) {
num += fieldOffset[i];
}
}
作为以下类型的匿名函数:
const reducer = (accumulator,currentValue) => accumulator + currentValue;
array1.reduce(reducer)
解决方法
使用Array.prototype.reduce的第三个(可选)参数可以解决问题:
num = fieldOffset.reduce((acc,value,index) => acc += (index && (value > fieldOffset[index - 1])) ? value : 0,0);