【发布时间】:2012-03-05 09:56:39
【问题描述】:
我的目标是将a转换成b:
a = [["a","b"], ["d", "c"], ["a", "o"], ["d", "g"], ["c", "a"]]
b = [[["a","b"], ["a", "o"]], ["c", "a"], [["d", "c"], ["d", "g"]]
它们按每个嵌套数组中的第一个元素分组。到目前为止,我有:
def letter_frequency(c)
d = Hash.new(0)
c.each do |v|
d[v] += 1
end
d.each do |k, v|
end
end
def separate_arrays(arry)
arry2 = []
arry3 = []
big_arry = []
y = 0
while y < arry.length
arry2.push(arry[y][0])
arry3.push(arry[y][1])
y += 1
end
freq = letter_frequency(arry2)
front = arry.slice!(0..(freq["a"] - 1))
end
separate_arrays(a)
这不仅看起来有点矫枉过正,而且现在可以保证“a”将是一个合法的哈希键,所以最后一部分不起作用。感谢您的帮助。
【问题讨论】:
标签: ruby arrays hash multidimensional-array