如何将循环重写为匿名函数?
How can loop be rewritten as anonymous function?
这种循环怎么改写
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);
这种循环怎么改写
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);