2016-12-06 13 views
-1

我有陣列的一個這樣的數組:複製使用在軌道紅寶石基於它的值的數組內的子陣列

array = [[1, 'Something', '123456321'], [2, 'Something, Something', '123456321, 1234563212']] 

我要循環的子陣列,並且如果每個陣列的第二元素包含逗號我想用逗號分割該元素,然後在數組中創建該子數組的副本,但使用不帶逗號的單個值。所以我希望得到這樣的結果:

array = [[1, 'Something', '123456321'], [2, 'Something', '123456321'], [2, 'Something', 1234563212']] 

我要說明的是,如果它是由這樣的'的東西,有什麼地方兩個或多個元素的數組的第二個元素,則第三個元素會自動有相同的結構'123456321,1234563212'。所以我的問題是,如果有可能在rails上使用ruby來做這樣的事情? 謝謝!

回答

3
array.flat_map do |id, names, values| 
    parsed_names = names.split(', ') 
    parsed_values = values.split(', ') 

    parsed_names.zip(parsed_values).map { |name, value| [id, name, value] } 
end 
+0

爲了安全起見,也許'split(/ \ s *,\ s * /)'。 –

+0

它的工作原理。非常感謝! – Lucasio

+0

你能幫我扭轉這種情況嗎?從數組=​​ [[1,'Something','123456321'],[2,'Something','123456321'],[2,'Something',1234563212']]'array'[[1, 'Something','123456321'],[2,'Something,Something','123456321,1234563212']]' – Lucasio