请看下面的代码
def test
array = Array.new
array2 = Array.new
groups = [[424235, "goa", "italy"], [523436, "mumbai"], [342423, "africa", "goa"]]
type = ["goa", "mumbai"]
groups.each_with_index do |item,index|
if item.include?(type[0]) == true
array << index << array2
elsif item.include?(type[1]) == true
array2 << index
else
"nothing ;)"
end
end
print array.each_slice(2).map { |a, b| [a, b.first] }
end
combine
#Output - [[0, 1], [2, 1]]
看到代码的问题了吗?那就是我正在使用一堆 if 和 else 语句。如果type
数组有超过 2 个条目怎么办。我不能继续写 if 和 elsif 语句。这就是我需要你帮助的地方。什么是更好的构建代码的方法?循环?如果是这样的话。