то, что сработало для меня, просто определяет переменную вне этой функции вашего.
Перед тем, как основная функция объявит i.e.
Double price;
public static void main(String []args(){
--------
--------
}
Я думаю, у вас есть проблемы с тем, как он выполняется
Your Example:
const array1 = [1, 2, 3, 4];
const reducer = (previous, current) => previous + current;
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10
// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));`enter code here`
// expected output: 15
Как вы говорите, почему он не уменьшается при первом применении .reduce.
поэтому, когда вы применяете .reduce, он не изменяет исходный массив, а возвращает вновь созданный массив. Таким образом, редуктор применяется к вновь созданному массиву, а не к исходному массиву (array1)
Таким образом, вы можете проверить вывод с помощью следующий код может очистить ваше сомнение:
const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) =>
{
console.log("Data is"+accumulator +' '+ currentValue);
return accumulator + currentValue;
}
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10
// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15
где аккумулятор - это значение, которое он возвращает из функции редуктора. currentValue - текущее значение вашего массива.