有在紅寶石一些陣列(是這種情況下,存在4陣列)合併數組如果不是nil,而不是空
array1 = [{key="label1.1", value="label1.2"}, {key="label1.2", value="label1.2"}]
array2 = [{key="label2.1", value="label2.2"}]
array3 = []
array4 = nil
result_array = array1 | array2 | array3 | array4
每個陣列具有相同的結構,其他:它的散列值。它有多少個元素,如果它是零或空 - 它不知道。
所以我需要result_array
看:
[{key="label1.1", value="label1.2"}, {key="label1.2", value="label1.2"}, {key="label2.1", value="label2.2"}]
但是該代碼會導致一個例外,因爲array4
等於nil
。
是否有任何Ruby檢查數組是否不爲零且不爲空的方式,如果是,則將它合併到result_array
?
很好。要試着記住這一點。 – dimitarvp
爲了處理所有'arrayX'都是'nil'的情況,使用'reduce([],:|)' –
確實,我沒有想到這種情況,感謝您的糾正:) –