想转换此内容:
[["1", "2", "3"], ["4", "5", "6"]]
到此:
["1", "2", "3"], ["4", "5", "6"]
传递给Array.product(),第一个数组可以包含未知数量的其他数组。例如,给出的数组也可以是
[["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"]]
最终,我需要将参数传递为:
otherArray.product(["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"])
提前致谢!
答案 0 :(得分:5)
otherArray.product(*[["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"]]);
在参数列表中使用*将数组内容解包为参数(如 这里)或者将参数打包到数组中,比如“def mymethod(* args)”
参考:http://www.justskins.com/forums/apply-method-to-array-17387.html
答案 1 :(得分:1)
我认为对你有用的是使用Ruby的Array扩展:
a=[[1,2,3],[4,5,6]]
b=[1,2,3].product([1,2,3],[4,5,6])
c=[1,2,3].product(*a)
b == c #This should be true
基本上将星号(*)放在变量前面会将数组中的所有元素扩展为参数列表,这就是你想要的。
答案 2 :(得分:0)
除了最后一行代码之外,其余部分似乎通过使用0索引来解决:
arr[0]