我有一個數組的數組,我想刪除所有在刪除空格後具有零或空的元素的項目。看看這段代碼:刪除陣列中空白的所有項目
x = Array.new
x << ["A","B", " ", "D"]
x << [""," ", nil, ""]
x << ["E","Q", "F", "M"]
我想刪除第二條記錄,因爲它不包含真實數據。
這樣做的最好方法是什麼?我應該簡單地遍歷數組,並寫if-else條件來測試嗎?
我有一個數組的數組,我想刪除所有在刪除空格後具有零或空的元素的項目。看看這段代碼:刪除陣列中空白的所有項目
x = Array.new
x << ["A","B", " ", "D"]
x << [""," ", nil, ""]
x << ["E","Q", "F", "M"]
我想刪除第二條記錄,因爲它不包含真實數據。
這樣做的最好方法是什麼?我應該簡單地遍歷數組,並寫if-else條件來測試嗎?
x.reject { |a| a.join.strip.length == 0 }
如果第一個數組將包含零,則當Chubas變體不起作用時。 讓我們稍微修改:
(使用Rails)
x.compact.reject{ |arr| arr.all?(&:blank?) }
只是注意,你可以使用拒絕! (with!)如果你喜歡編輯你的數組而不是創建一個新的數組 – Luis 2011-02-07 09:59:47