2014-10-28 69 views
0

我有兩個數組,每個都是二維的,我想在位置i處取數組1的值,並嘗試在數組2中找到相同的值。它們具有相同的值,x位置的數組2的值在位置i的數組1中連接。在兩個二維數組中找到一個共同的值Ruby

例如

陣列1

[[,2,3,4,5,6],[3,5,7,2,12,5],[一中,f,3,d,4,G]]

陣列2

[[b,E,W,1,4,6],[,0,8,5, 8,9]]

所以新陣列1將是

[[,2,3,4,5,6,,0,8,5,8,9],[ 3,5,7,2,12,5],[A,F,3,d,4,G]]

任何思想.....

+1

通常給它一個去,並把你的代碼,顯示你花了五分鐘試圖解決這個問題。 – tadman 2014-10-28 19:54:56

+0

我正在做數組2的數組2的迭代以檢查數值是否相同 – 2014-10-28 20:23:56

+0

請在解決方案中顯示您的嘗試,並解釋您卡在哪裏。 – lurker 2014-10-28 20:33:28

回答

0

你的任務的描述不是正確。你不能

採取的位置陣列1 i的值

因爲array 1包含數組本身,所以你可以在i, j位置取值。並在ji的每個array 2中搜索相同的值。如果這是你想要的,下面是示例代碼:

arr_1 = [[1, 2, 3, 4, 5, 6], [3, 5, 7, 2, 12, 5], ['a', 'f', 3, 'd', 4, 'g']] 
arr_2 = [['b', 'e', 'w', 1, 4, 6], [1, 0, 8, 5, 8, 9]] 

search_i = 0 
search_j = 0 

search_val = arr_1[search_i][search_j] 

arr_2.each_with_index do |val_i, i| 
    val_i.each_with_index do |val_j, j| 
    if j == search_j && arr_2[i][j] == search_val 
     arr_1[search_i].concat(arr_2[i]) 
    end 
    end 
end 

p arr_1 # [[1, 2, 3, 4, 5, 6, 1, 0, 8, 5, 8, 9], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]] 
相關問題