0
的哈希我有以下幾點:如何創建組陣列
[[1,1,3], [1,2,3], [2,1,3]
我希望能夠採取以上,並創建一個哈希
1 => { [1,3], [2,3] }, 2 => {[1,3]}
編輯
此外,我還想添加以下內容:
因爲新數組中的第一個元素是月份,如果我沒有t數據他4個月,就可以默認爲[4,0]
1 => { [1,3], [2,1], [3,4], }
的哈希我有以下幾點:如何創建組陣列
[[1,1,3], [1,2,3], [2,1,3]
我希望能夠採取以上,並創建一個哈希
1 => { [1,3], [2,3] }, 2 => {[1,3]}
編輯
此外,我還想添加以下內容:
因爲新數組中的第一個元素是月份,如果我沒有t數據他4個月,就可以默認爲[4,0]
1 => { [1,3], [2,1], [3,4], }
x = [[1,1,3], [1,2,3], [2,1,3]]
y = x.map {|a| {a[0]=> [a[1], a[2]]}}
編輯
其實我最初的解決方案是錯誤的,它給你:
[{1=>[1, 3]}, {1=>[2, 3]}, {2=>[1, 3]}]
我相信這更接近你要找的東西:
x = [[1,1,3], [1,2,3], [2,1,3]]
h = {}
x.each do |a|
if h[a[0]].nil?
h[a[0]] = []
end
h[a[0]] << [a[1], a[2]]
end
它給你一個數組哈希表:
{1=>[[1, 3], [2, 3]], 2=>[[1, 3]]}
require 'facets'
xs = [[1,1,3], [1,2,3], [2,1,3]]
xs.map_by { |*ys| [ys.first, ys.drop(1)] }
=> {1=>[[1, 3], [2, 3]], 2=>[[1, 3]]}
太感謝你了.. – user385948
快速的問題,在我的編輯,這些數字是用於使用一個月計算......可以說,我不要沒有四月(4)的數據,我該如何強制[4,0]? 謝謝! – user385948
一旦你創建了哈希,你所需要做的就是檢查'h [4]',這將是零,告訴你,你沒有4月份的數據。 – David