在Ruby中按索引从数组中删除多个元素

Mik*_*ero 8 ruby arrays

我有一个数组。例如,

x = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

我知道命令

x.delete_at(i)
Run Code Online (Sandbox Code Playgroud)

将从数组中删除索引i处的元素。但从我所读到的,它只能处理一个论点。

假设我有一个变量来存储我希望从x 中删除的索引。例如,

y = [0,2,3]
Run Code Online (Sandbox Code Playgroud)

我的问题:是否可以使用存储在要删除的索引中的另一个数组从数组中删除多个元素?

本质上,类似

x.delete_at(y)
Run Code Online (Sandbox Code Playgroud)

谢谢!:)

Sag*_*dya 6

你可以用rejectwith_index

x.reject.with_index { |e, i| y.include? i } #=> [2, 5]
Run Code Online (Sandbox Code Playgroud)