我试图用多个数组制作一个嵌套数组。我有两个这样的数组:
cat = ["cat1", "cat2", "cat3"]
dog = ["dog1", "dog2", "dog3"]
是否可以制作这样的数组(标题"cats"
和"dogs"
)?
animals = [["cats", "dogs"], ["cat1", "dog1"], ["cat2", "dog2"], ["cat3", "dog3"]]
我可以使用一些很长的有线代码来做到这一点,但有一种简单的方法可以做到这一点吗?
答案 0 :(得分:5)
如果您希望将标题保持接近其值,您还可以使用:
['cats', *cat].zip(['dogs', *dog])
#=> [["cats", "dogs"], ["cat1", "dog1"], ["cat2", "dog2"], ["cat3", "dog3"]]
答案 1 :(得分:4)
您正在寻找Array#zip
:
[%w(cats dogs), *cats.zip(dogs)]
答案 2 :(得分:3)
是
[cat, dog].transpose.unshift(%w[cats dogs])