Ruby,Hash和Array中的嵌套循环

时间:2015-06-10 14:52:04

标签: javascript arrays ruby object hash

我如何在Ruby中执行此操作



var pCodePrice = {
  'GR1': 3.11,
  'SR1': 5,
  'CF1': 11.23
};
var basket = ['GR1', 'SR1', 'GR1', 'GR1', 'CF1'];
var total = [];


for (i = 0, x = basket.length; i < x; i++) {
  for (var prop in pCodePrice) {
    if (basket[i] == prop) {
      total.push(pCodePrice[prop])
    }

  }

}
&#13;
&#13;
&#13;

这循环遍历数组并检查项是否与内部循环中的散列的键匹配,如果是,则将值推送到新数组中。

我无法在Ruby中获取它,

由于

1 个答案:

答案 0 :(得分:4)

使用地图在ruby中非常简单。

pCodePrice = { 'GR1' => 3.11, 'SR1' => 5, 'CF1' => 11.23 }
 => {"GR1"=>3.11, "SR1"=>5, "CF1"=>11.23} 
basket = ['GR1','SR1','GR1','GR1','CF1']
 => ["GR1", "SR1", "GR1", "GR1", "CF1"] 
total = basket.map { |code| pCodePrice[code] }
 => [3.11, 5, 3.11, 3.11, 11.23]