Array
array <===> hash
1
2
3
4
5
6
7
8
9
| key = [ "a" , "b" ]
value = [ 1 , 2 ]
hash = Hash[ key.map {|k| [ k, value[key.index(k)] ] } ]
p hash
#{"a"=>1, "b"=>2}
tmp = [ "key" , "value" , "key1" , "value1"]
p hash = Hash[tmp.each_slice(2).map{|i|[i[0], i[1]]}]
#{"key"=>"value", "key1"=>"value1"}
|
array項目內重複次數
1
2
3
4
5
6
7
8
9
| array = [1, 2, 2, 3, 3, 4, 4, 4]
#Array項目內重複次數
def arry_max_frequency(array)
array.compact.group_by(&:itself).map { |k,v| [k, v.count] }
end
p arry_max_frequency(array)
#[[1, 1], [2, 2], [3, 2], [4, 3]]
|
合併array
1
2
3
4
5
6
7
8
9
| def zip_array(a, b)
t, v = a.transpose
t.zip(v.zip(b.transpose.last))
end
a = [[1, 5], [2, 10]]
b = [[1, 4], [2, 8]]
zip_array(a, b)
#[[1, [5, 4]], [2, [10, 8]]]
|