我试图在 Node 中运行 js 文件时获取参数(来自第二个参数),然后对它们求和。
var args = 0;
process.argv.reduce((a, b, c) => {
if (c > 1) {
console.log(+a + +b);
this.args += +a + +b;
}
return a
}, 0);
console.log(args)
结果,当我运行 Node exlearnyounode.js 12 4 6
时,我得到 0 作为总和,但我期望 22
最佳答案
在您的代码中,您假设 a
是累加器,b
是集合中的元素,c
为元素的索引。相反,您应该只将两个参数传递给 reduce
,第一个是累加器,接下来是从集合 process.argv
中产生的元素;它没有给出相对于集合的索引。
这应该可以做到:
console.log(process.argv.slice(1).reduce((acc, a) => acc + a))
slice(1)
将给出除第一个参数之外的参数:
var arr = [0, 3, 2, 1]
console.log(arr.slice(1))
console.log(arr.slice(1).reduce((acc, a) => acc + a))
关于javascript - 使用reduce在Node中求和js文件参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085814/