在ruby中向元素的每个项添加元素

时间:2016-09-27 04:05:05

标签: arrays ruby combinations

我目前有输入[['a', [0, 1]], ['b', [1]]]。我正在尝试将第一个项目与[0,1]中的每个元素组合在一起,即:'a'中的['a',[0,1] => [['a',0],['a',1],['b',1]]类似有序对。我已经做到了,但似乎过于复杂,我认为可能有一种我忽略的方法。

[[0, [0, 1]], [1, [1]]].map.with_index{|x,y| x[1].map{|ele| [y,ele]}}.flatten(1)
#I used 'a'&'b' in the example to help with any confusion.

2 个答案:

答案 0 :(得分:4)

public String getOddRowStyle() {
    /*Change Your style as programmatically*/
    return "background-color: #F7F7F7!important ;";
}

public String getEvenRowStyle() {
    /*Change Your style as programmatically*/
    return "background-color: #05855F!important ;";
}

答案 1 :(得分:0)

arr = [['a', [0, 1]], ['b', [1]]]

arr.each_with_object([]) { |(x,a),b| a.each { |y| b << [x,y] } }
  #=> [["a", 0], ["a", 1], ["b", 1]]