从数组中选择随机元素并将其删除

时间:2013-07-20 15:14:54

标签: ruby

我想从数组中选择一个随机元素,将其从数组中删除,然后返回该元素。

我可以使用sample获取元素index来查找它,然后delete_at删除它,但是有更好的方法吗?

2 个答案:

答案 0 :(得分:15)

最美丽的解决方案:

array.delete(array.sample)

答案 1 :(得分:14)

array.delete_at(rand(array.length))

这似乎是对的,我猜它效果最好。

编辑:同样的答案在这里:Is there a particular function to retrieve then delete random array element?所以我会这样做:D