Node.js中的Ruby Rails .inject等效项

时间:2018-12-27 08:45:15

标签: javascript ruby-on-rails node.js ruby

我在Ruby Rails中使用Node.js还是一个新手,尽管我只用了几个星期,但我对基础知识还是有一点信心。

但是,我正在尝试在Ruby Rails中转换使用inject的特定哈希。我不太确定如何在Javascript中进行转换。

有人可以帮忙吗?

这是我的Ruby Rails代码:

result = CurrencyExchangeRates.all.inject({}) do |rates, c|
  rates[c.currency] = c.rate
  rates
end

# => {"one"=>"one", "two"=>"two", "three"=>"three"}

如何在Node.js中正确执行此操作

我正在查看.forEach,但是我认为这仅适用于数组。

currency_exchange_rates.forEach(element => {

});

1 个答案:

答案 0 :(得分:2)

您可以使用reduce

 const reducer = (rates, c) => Object.assign(rates, { [c.currency]: c.rate } )
 const result = all_rates.reduce(reducer, {})