簡體   English   中英

ruby-幫助需要將數組轉換為特定類型的數組,將鍵復制為列表中的[key,value]

[英]ruby - help need to convert an array to a specific type of array of arrays, duplicating the keys as [key, value] int he list

我想將數組轉換為特定類型的數組。

array = [“ Project”,“ Publication”]

進入

array_of_arrays = [[“ Project”,“ Project”],[“ Publication”,“ Publication”]]

該數組不僅限於大小2。 它的列表越來越多,因此需要尋找一些函數將其轉換為array_of_arrays。

感謝任何幫助。

def replicate(arr, n)
  arr.map { |e| [e]*n }
end

replicate(["Project", "Publication"], 2)
  #=> [["Project", "Project"], ["Publication", "Publication"]]
replicate(["Project", "Publication"], 3)
  #=> [["Project", "Project", "Project"], ["Publication", "Publication", "Publication"]]
replicate([["ProjectA", "ProjectB"], "Publication"], 2)
  #=> [[["ProjectA", "ProjectB"], ["ProjectA", "ProjectB"]], ["Publication", "Publication"]

地圖可以很輕松地處理此問題。

a = ["Project", "Publication"]
a.map{|x| [x,x]}
#=> [["Project", "Project"], ["Publication", "Publication"]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM