javascript - 使用reduce在Node中求和js文件参数

标签 javascript arrays node.js reduce

我试图在 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/

相关文章:

javascript - 自动测量功能时间

arrays - 如何将数组排列为表格行?

node.js - Cloud9 和 snmpjs

javascript - 使用 Onsen UI ons.platform isAndroidTablet()

javascript - 使用 Browserify 设置 Karma 以测试 React (ES6) 组件

javascript - Firebase:doc.data() 返回空对象

arrays - 将变体数组转换为动态数组

c - 指向数组的指针与数组具有相同的值

javascript - react 器模式在 Node.js 中是如何工作的?

javascript - 如何使用 Apple 的 UIAutomation JS 框架发出 Web 请求