Получение сообщения об ошибке в этой функции сокращения
Было такое сначала
const populationTotal = 0;
let populationTotal = zooAnimals.reduce((populationTotal, populationAmount) => {
return populationTotal + populationAmount.population;
}, 0);
console.info(populationTotal);
Пробую это сейчас
const populationTotal = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (populationTotal, 10) => populationTotal +
console.info(populationTotal.reduce(reducer));
Получение ошибки SyntaxError: Assigning to rvalue (190:34)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы определяете populationTotal как const, затем пытаетесь определить его снова и присвоить ему значение. Это не то, как работает константа. Вы можете установить значение const только в строке, где вы его определяете.
Массив.уменьшить работает с параметрами accumulator, current value, index и array, но в основном используется с первыми двумя. Он также принимает значение по умолчанию для аккумулятора в качестве последнего параметра:
Функция редуктора принимает четыре аргумента:
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.info(result)Если вы хотите определить внешний редуктор как отдельную функцию, вы также можете:
const data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const reducer = (acc, curr) => acc + curr
console.info(data.reduce(reducer, 0));
первая ошибка: я получаю Uncaught SyntaxError: идентификатор «populationTotal» уже объявлен