如何在散列数组中添加散列对象的数字表示?

时间:2014-04-24 02:58:18

标签: ruby-on-rails ruby

这样的哈希数组
  [{color: "red", size: "large"},{color: "blue", size: "small"},{color: purple, size: "medium"},{color: "pink", size: "small"}]

另一个哈希:

  {small: 1, medium: 2, large: 3, x_large: 4}

有人会如何用各自的数字替换所有尺码并总结这些数字?

可以通过将数字替换为大小如此来手动解决问题:

 [{color: "red", size: 3},{color: "blue", size: 1},{color: purple, size: 2},{color: "pink", size: 1}]

然后将它们添加到大小的数字表示中将输出:7

1 个答案:

答案 0 :(得分:1)

迭代你的第一个数组,用第二个数组中的corrospoding大小替换:size

arr = [{color: "red", size: "large"},{color: "blue", size: "small"},{color: "purple", size: "medium"},{color: "pink", size: "small"}]

sizes =   {small: 1, medium: 2, large: 3, x_large: 4}


arr.each do |x|
  x[:size] = sizes[x[:size].to_sym]
end