2012-10-15 109 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"]