2012-10-15 113 views
1

我有字的,像這樣通過索引從數組紅寶石

["jo","jibber","hail","noobs","smirk","awkland"] 

陣列,並用索引

[0,3,5] 

我想刪除所有來自先前的元素的單獨的陣列除去數組元素在這些索引處的數組。 我在想我可以使用拒絕,但我不知道我到底該怎麼做。另外一旦我刪除一個元素不會所有其他索引將不得不改變。 有沒有這樣做的簡單方法?

+0

你也可以使用delete_at但塞爾吉奧Tulentsev答案是偉大的。 – oldergod

回答

4

您可以使用rejectwith_index

arr = ["jo", "jibber", "hail", "noobs", "smirk", "awkland"] 

indexes = [0, 3, 5] 

arr.reject.with_index {|_, idx| indexes.include?(idx)} # => ["jibber", "hail", "smirk"]