我想從數組中刪除元素,如果該數組中的值匹配給定的字符串。我有一個數組是有一個標籤數組。我正在比較標籤的名稱,以查看它們是否符合用戶希望從其搜索中排除的內容。如果是這樣,我想要從主數組中刪除該元素,否則可能添加不匹配的元素。字符串匹配時刪除數組元素標籤
這是我到目前爲止有:
results = Array.new
test = 0
no_tags.each do |no_tag| #an array of tags whose resources are not to be included
resources.each do |r|
add_to_array = false
r.tags.each do |t|
if t.name.eql? no_tag
test += 1
add_to_array = false
else
add_to_array = true
end
end
if add_to_array
results << r
end
end
end
的測試變量只是調試匹配出現這恰好是141出的763個資源數量的變量。但是,當我做results.count這個塊運行後,我只得到732,當我應該得到622.
爲了澄清我需要刪除資源數組元素,如果標籤數組包含匹配,或如果找不到匹配項,其他選項將會將資源數組元素包含到新數組中。
這將作爲JSON返回給瀏覽器,我需要排除標籤與no_tags數組值相匹配的資源。
如果某個資源具有多個標籤,則包含該標籤的決定僅基於最後一個標籤**。這可能是差異來自哪裏。 – 2012-03-13 21:07:39