Assigning to rValue



在此降低功能上获取错误消息

首先有这个

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(

  1. 您将populationTotal定义为const,然后尝试再次定义它并为其设置值。那不是const的工作方式。您只能将值设置为定义的线路的const。

  2. array.Reduce可与accumulatorcurrent valueindexarray参数一起使用,但主要用于前两个。它还接受累加器作为其最后一个参数的默认值:

还原功能采用四个参数:

  • 累加器(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));

最新更新