我有以下形式的數組:最有效的ruby方法來轉換這個數組?
[\"id\", 545, \"program_name\", \"VILLIANS MARATHON\", \"episode_name\", \"1-Season1:Ep.11\"]
我需要將其轉換爲下面的形式:
[545, \"VILLIANS MARATHON\", \"1-Season1:Ep.11\"]
Im做這個問題的方法如下:
#Convert a Active record hash to a 2D array
def activerecord_hash_to_datatable_array(activerecord_resultset)
array_of_arrays = Array.new()
array_of_rs_hashes = activerecord_resultset.to_a.map(&:serializable_hash)
array_of_rs_hashes.each do |rs|
# {"id"=>1594, "program_name"=>nil, "episode_name"=>nil}
rs = rs.flatten
#[\"id\", 545, \"program_name\", \"MARATHON\", \"episode_name\", \"1-Season1:Ep.11\"]"
rs_array = Array.new()
index = 1
while index < rs.length
puts "index = #{index}"
puts "\033[0;33m"+"#{rs[index]}"+"\033[0;37m"
log_with_yellow("index[#{index}] " + "#{rs[index]}")
rs_array << rs[index]
index += 2
end
array_of_arrays << rs_array
end
array_of_arrays
end
我在想什麼最有效的方法來實現這一點。
顯然我只需要保留奇怪的元素。但是,Id喜歡避免迭代所有元素並比較每個元素索引。
有沒有辦法通過跳過所有的偶數元素來做到這一點?
感謝
這是沒有二維數組,但單一的數組,看起來像存儲在數組中的JSON對象 – bjhaid
@bjhaid - 他有一個這樣的數組的數組。 – BroiSatse
@BroiSatse它的一個JSON對象,檢查我的答案,你會明白 – bjhaid