Я пытаюсь получить аргументы (второй аргумент) при запуске файла js в узле, а затем суммировать их.
var args = 0;
process.argv.reduce((a, b, c) => {
if (c > 1) {
console.info(+a + +b);
this.args += +a + +b;
}
return a
}, 0);
console.info(args)
В результате я получаю 0 как сумму при запуске узла exlearnyounode.js 12 4 6, но я ожидаю 22



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


В вашем коде вы предполагаете, что a - это аккумулятор, b - это элемент из коллекции, c - это индекс элемента. Вместо этого вы должны просто передать reduce только два аргумента, первый - это аккумулятор, а затем - элемент, полученный из коллекции process.argv; он не дает индекс относительно коллекции.
Это должно сделать это:
console.info(process.argv.slice(1).reduce((acc, a) => acc + a))
slice(1) предоставит аргументы, кроме первого:
var arr = [0, 3, 2, 1]
console.info(arr.slice(1))
console.info(arr.slice(1).reduce((acc, a) => acc + a))