在此降低功能上获取错误消息
首先有这个
const populationTotal = 0;
let populationTotal = zooAnimals.reduce((populationTotal, populationAmount) => {
return populationTotal + populationAmount.population;
}, 0);
console.log(populationTotal);
现在尝试
const populationTotal = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (populationTotal, 10) => populationTotal +
console.log(populationTotal.reduce(reducer));
获得SyntaxError的错误:分配给RVALUE(190:34(
-
您将
populationTotal
定义为const
,然后尝试再次定义它并为其设置值。那不是const的工作方式。您只能将值设置为定义的线路的const。 -
array.Reduce可与
accumulator
,current value
,index
和array
参数一起使用,但主要用于前两个。它还接受累加器作为其最后一个参数的默认值:
还原功能采用四个参数:
- 累加器(ACC(
- 当前值(CU(
- 当前索引(IDX(
- 源数组(SRC(
let data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
// Used all four parameters but they are not needed specifically in this case, Just for illustration purposes
let result = data.reduce((acc, cur, idx, src) => acc + cur, 0)
console.log(result)
如果您想将简化器在外部定义为单独的功能,则也可以:
const data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (acc, curr) => acc + curr
console.log(data.reduce(reducer, 0));